在 Python 中连接 MySQL 数据库时,可以使用多个库,每个库有其特定的特点和用法。

以下是三种常用的库及其使用方法:MySQLdbmysqlclientPyMySQL

MySQLdb

MySQLdb又叫MySQL-python ,是早期的 MySQL Python 库,但它不再维护并且不支持 Python 3。它的现代替代品是 mysqlclient

  • 只支持 Python2.x,而且安装的时候有很多前置条件。
  • 基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况。

现在基本不推荐使用,取代的是它的衍生版本。

mysqlclient

mysqlclientMySQLdb 的一个分支,支持 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,推荐使用 mysqlclientPyMySQLmysqlclient 提供了更好的性能,而 PyMySQL 是纯 Python 实现,可能在某些环境下更易于安装和使用。

作者 admin

百度广告效果展示