数据库操作:如何使用Python中的数据库操作函数
数据库操作是现代编程技术中极为重要的一环,Python中已经有了许多成熟的数据库操作模块。数据库操作可以实现数据常规的CRUD操作,此外,用于数据的存储和查询也提供了强大的处理能力。
Python中常用的数据库接口有:MySQLdb、psycopg2、pyodbc附带UnixODBC、pymongo(用于MongoDB)等。下面我们将介绍如何使用MySQLdb以及psycopg2这两个数据库操作模块。
MySQLdb
MySQLdb是用于Python和MySQL交互的模块,可以用于实现数据的CRUD等操作。使用步骤如下:
首先需要安装该模块,如果你还没有安装该模块,可以通过以下命令进行安装:
pip install MySQL-python
然后可以按以下步骤使用:
首先需要进行连接:
import MySQLdb # 连接数据库 db = MySQLdb.connect(host="localhost", user="root", passwd="", db="test") # 创建一个游标对象 cursor = db.cursor()
接下来就可以实现数据CRUD操作了,可以创建表、插入数据、更新数据、删除数据等。
以下是一些示例:
创建表:
SQL = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
# 执行sql语句
cursor.execute(SQL)
插入数据:
SQL = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Tom', 'Jones', 25, 'M', 5000)"
# 执行sql语句
cursor.execute(SQL)
更新数据:
SQL = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = 'M'" # 执行sql语句 cursor.execute(SQL)
删除数据:
SQL = "DELETE FROM EMPLOYEE WHERE AGE > 30" # 执行sql语句 cursor.execute(SQL)
执行完后,需要提交数据的修改:
# 提交修改 db.commit()
最后,连接需要关闭:
# 关闭连接 db.close()
psycopg2
psycopg2是用于Python和PostgreSQL交互的模块,同样可以实现数据的CRUD等操作。使用步骤如下:
首先需要安装psycopg2模块,如果你还没有安装该模块,可以通过以下命令进行安装:
pip install psycopg2
然后可以按以下步骤使用:
首先需要进行连接:
import psycopg2 # 连接到数据库 conn = psycopg2.connect(database="mydatabase", user="myuser", password="mypassword", host="localhost", port="5432") # 创建一个游标对象 cur = conn.cursor()
接下来可以实现数据CRUD操作,可以创建表、插入数据、更新数据、删除数据等。
以下是一些示例:
创建表:
SQL = """CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);"""
# 执行sql语句
cur.execute(SQL)
插入数据:
SQL = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00)" # 执行sql语句 cur.execute(SQL)
更新数据:
SQL = "UPDATE COMPANY SET SALARY = 25000.00 WHERE ID = 1" # 执行sql语句 cur.execute(SQL)
删除数据:
SQL = "DELETE FROM COMPANY WHERE ID = 1" # 执行sql语句 cur.execute(SQL)
执行完后,需要提交数据的修改:
conn.commit()
最后,连接需要关闭:
# 关闭连接 conn.close()
总结
以上是Python中使用MySQLdb和psycopg2两个数据库操作模块的简单示例,这两个模块的使用也是很经典的。在实际工作和开发中,不同的数据库有不同的模块可以使用。通过学习和使用这些模块,我们可以快速实现数据的存储和查询,提供强大的处理能力。
