在 Python 中连接 MySQL 数据库时,可以使用多个库,每个库有其特定的特点和用法。
以下是三种常用的库及其使用方法:MySQLdb
、mysqlclient
和 PyMySQL
。
MySQLdb
MySQLdb又叫MySQL-python ,是早期的 MySQL Python 库,但它不再维护并且不支持 Python 3。它的现代替代品是 mysqlclient
。
- 只支持 Python2.x,而且安装的时候有很多前置条件。
- 基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况。
现在基本不推荐使用,取代的是它的衍生版本。
mysqlclient
mysqlclient
是 MySQLdb
的一个分支,支持 Python 3,并且提供了与 MySQLdb
相似的接口。它是连接 MySQL 数据库的一个很好的选择。
安装
pip install mysqlclient
连接 MySQL
import MySQLdb
# 连接到 MySQL 数据库
conn = MySQLdb.connect(
host=’localhost’,
user=’your_username’,
passwd=’your_password’,
db=’your_database’
)
# 创建一个游标对象
cursor = conn.cursor()
# 执行 SQL 查询
cursor.execute(‘SELECT * FROM your_table’)
# 获取查询结果
results = cursor.fetchall()
for row in results:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
PyMySQL
PyMySQL
是一个纯 Python 实现的 MySQL 客户端库,兼容 MySQLdb
的接口,并且支持 Python 3。
安装
pip install pymysql
连接 MySQL
import pymysql
# 连接到 MySQL 数据库
conn = pymysql.connect(
host=’localhost’,
user=’your_username’,
password=’your_password’,
database=’your_database’
)
# 创建一个游标对象
cursor = conn.cursor()
# 执行 SQL 查询
cursor.execute(‘SELECT * FROM your_table’)
# 获取查询结果
results = cursor.fetchall()
for row in results:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
总结
MySQLdb
: 早期的 MySQL 库,只支持 Python 2,不再维护。mysqlclient
:MySQLdb
的现代替代品,支持 Python 3,接口类似于MySQLdb
。PyMySQL
: 纯 Python 实现的 MySQL 客户端库,支持 Python 3,兼容MySQLdb
接口。
选择哪个库取决于你的需求和环境。如果你在使用 Python 3,推荐使用 mysqlclient
或 PyMySQL
。mysqlclient
提供了更好的性能,而 PyMySQL
是纯 Python 实现,可能在某些环境下更易于安装和使用。