MySQLDB详解
MySQLDB是一个Python与MySQL数据库进行交互的模块,它提供了一系列接口,方便开发者进行数据的查询、插入、更新等操作。在本文中,我们将详细介绍MySQLDB的使用方法,包括安装、连接数据库、执行SQL语句、获取查询结果等内容。
安装MySQLDB
在开始使用MySQLDB之前,我们首先需要安装它。可以使用pip命令来安装MySQLDB模块:
pip install MySQL-python
如果上述命令无法安装成功,可以尝试使用以下命令:
pip install MySQL-python-connector
连接数据库
在使用MySQLDB进行数据库操作之前,我们需要建立与数据库的连接。下面是一个连接MySQL数据库的示例代码:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行SQL语句
cursor.execute("SELECT VERSION()")
# 获取一条数据库
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
运行上述代码,连接成功后,将会打印出数据库的版本信息。
执行SQL语句
一旦建立了与数据库的连接,我们就可以执行SQL语句来对数据库进行操作。下面是一个简单的插入数据的示例代码:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
上述代码中,首先建立了与数据库的连接,然后定义了一个插入数据的SQL语句,并使用cursor.execute(sql)
方法执行该语句。最后通过db.commit()
提交事务,如果在执行SQL语句过程中出现错误,则通过db.rollback()
回滚事务。
获取查询结果
除了插入数据之外,我们还经常需要从数据库中查询数据。下面是一个查询数据的示例代码:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > %s" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income ))
except:
print("Error: unable to fecth data")
# 关闭数据库连接
db.close()
上述代码中,通过执行SQL查询语句,我们获取了所有收入大于1000的员工信息,并将结果打印出来。在实际项目中,我们可以根据需要对查询结果进行进一步处理。
总结
本文介绍了MySQLDB模块的基本用法,包括安装、连接数据库、执行SQL语句和获取查询结果等操作。使用MySQLDB能够方便快捷地与MySQL数据库进行交互,是Python开发者进行数据库操作的有力工具。