2026-04-29 12:18:25
PyMySQL是Python中用于连接MySQL数据库的纯Python客户端库,旨在替代MySQLdb并兼容多种Python实现(如CPython、PyPy和IronPython)。以下是使用PyMySQL进行数据库连接和操作的关键步骤及示例代码:
1. 环境要求通过pip直接安装:
pip install PyMySQL或在PyCharm等IDE中通过图形界面安装。
3. 数据库连接与基础操作连接数据库import pymysql# 连接数据库(参数:主机、用户名、密码、数据库名)db = pymysql.connect('localhost', 'testdb', '123456', 'testdb')cursor = db.cursor() # 创建游标对象# 查询数据库版本cursor.execute("SELECT VERSION()")version = cursor.fetchone()print(f"Database Version: {version[0]}")db.close() # 关闭连接创建表需提前在MySQL中创建数据库和表(如通过命令行):
CREATE DATABASE testdb;USE testdb;CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL);4. 增删改查操作插入数据方法1:直接拼接SQL
sql = "INSERT INTO users(email, password) VALUES ('123@qq.com', '123')"cursor.execute(sql)db.commit() # 提交事务方法2:参数化查询(推荐,防SQL注入)
sql = "INSERT INTO users(email, password) VALUES (%s, %s)"cursor.execute(sql, ('456@qq.com', '456'))db.commit()使用try-except块确保操作失败时回滚:
try: cursor.execute("INSERT INTO users VALUES (NULL, '789@qq.com', '789')") db.commit()except Exception as e: db.rollback() # 回滚事务 print(f"Error: {e}")finally: db.close() # 确保连接关闭6. 总结PyMySQL操作MySQL的核心流程:
通过以上步骤,可高效安全地实现Python与MySQL的交互。