python中PyMySQL有什么用

PyMySQL是Python操作MySQL的轻量库,支持连接数据库、执行SQL、参数化查询防注入、事务管理,并需手动关闭游标和连接。

PyMySQL 是 Python 中用于连接和操作 MySQL 数据库的一个纯 Python 实现的客户端库。它的主要作用是让 Python 程序能够与 MySQL 数据库进行交互,执行 SQL 语句,实现数据的增删改查等操作。

1. 连接 MySQL 数据库

PyMySQL 提供了简单的方式创建与 MySQL 服务器的连接。只需要提供数据库地址、端口、用户名、密码、数据库名等信息,就能建立连接。

示例:
  • import pymysql
  • conn = pymysql.connect(host='localhost', port=3306, user='root', password='your_password', database='test_db')

建立连接后,就可以通过该连接发送 SQL 命令。

2. 执行 SQL 操作

通过 PyMySQL 可以执行各类 SQL 语句,如 SELECT、INSERT、UPDATE、DELETE 等。

  • 使用 cursor() 创建游标对象
  • 调用 execute() 方法执行 SQL
  • 通过 fetchall() 或 fetchone() 获取查询结果
示例:
  • cursor = conn.cursor()
  • cursor.execute("SELECT * FROM users")
  • results = cursor.fetchall()

3. 支持参数化查询,防止 SQL 注入

PyMySQL 允许使用参数占位符(如 %s)来传递变量,避免直接拼接 SQL 字符串,提升安全性。

  • cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('Alice', 25))

这种方式能有效防止恶意输入导致的 SQL 注入攻击。

4. 事务管理

PyMySQL 支持手动控制事务的提交与回滚,确保数据一致性。

  • 正常操作后调用 conn.commit() 提交更改
  • 出错时调用 conn.rollback() 回滚操作

这在处理多条关联 SQL 语句时非常关键。

基本上就这些。PyMySQL 轻量、易用,适合中小型项目或学习阶段连接 MySQL 使用。不复杂但容易忽略细节,比如记得关闭游标和连接。基本上用完记得 cursor.close() 和 conn.close() 就好。