pymysql 是一个用于连接 MySQL 数据库的 Python 库 。它提供了一个简单的方式来执行 SQL 语句、处理查询结果以及管理数据库连接。下面将介绍如何使用 pymysql 来连接 MySQL 数据库 、执行 SQL 语句以及处理结果。
安装 pymysql
首先,你需要确保已经安装了 pymysql。你可以通过 pip 来安装它:
bash
pip install pymysql
连接数据库
使用 pymysql.connect() 方法来连接数据库。你需要提供数据库的地址(通常是主机名和端口号)、用户名、密码以及数据库名。
bash
import pymysql
# 连接数据库
conn = pymysql.connect(host='数据库地址',
user='用户名',
password='密码',
database='数据库名',
charset='utf8mb4', # 确保可以正确处理中文等字符
cursorclass=pymysql.cursors.DictCursor) # 返回字典类型的结果
# 创建一个游标对象
cursor = conn.cursor()
执行 SQL 语句
使用游标对象的 execute() 方法来执行 SQL 语句。
查询数据
bash
# 执行查询
cursor.execute("SELECT * FROM 表名")
# 获取所有查询结果
results = cursor.fetchall()
for row in results:
print(row) # 如果你在连接时使用了 DictCursor,这里将是字典类型
插入数据
bash
# 插入数据
sql = "INSERT INTO 表名 (列1, 列2) VALUES (%s, %s)"
cursor.execute(sql, ('值1', '值2'))
# 提交事务
conn.commit()
更新和删除数据
更新和删除数据的操作与插入数据类似,只是 SQL 语句不同。
bash
# 更新数据
sql = "UPDATE 表名 SET 列1 = %s WHERE 列2 = %s"
cursor.execute(sql, ('新值', '条件值'))
conn.commit()
# 删除数据
sql = "DELETE FROM 表名 WHERE 列名 = %s"
cursor.execute(sql, ('条件值',))
conn.commit()
关闭连接
完成数据库操作后,不要忘记关闭游标和连接。
bash
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
注意事项
确保你拥有访问数据库的适当权限。
在处理敏感信息(如数据库密码)时,请确保遵守最佳安全实践。
使用参数化查询(如上例所示)来防止 SQL 注入攻击。
在生产环境中,考虑使用连接池等高级功能以提高性能和可维护性。
确保你的 MySQL 服务器配置允许从你的应用程序所在的服务器进行连接。
pymysql 提供了一个相对简单的接口来操作 MySQL 数据库,但它足够强大,可以满足大多数数据库操作需求。