如何用Python操作MySQL数据库
使用Python操作MySQL数据库的核心方法是借助第三方库(如mysql-connector-python或PyMySQL)建立连接,并通过执行SQL语句实现数据增删改查。 这一过程不仅高效灵活,还能大幅提升数据处理的自动化水平,下面将详细介绍具体步骤和关键技巧。
安装必要的库
确保已安装Python的MySQL连接库,常用库包括mysql-connector-python(官方驱动)和PyMySQL(纯Python实现),可通过pip安装:

pip install mysql-connector-python # 或 pip install pymysql
建立数据库连接
使用库提供的接口连接MySQL数据库,需提供主机地址、用户名、密码和数据库名:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="test_db"
)
cursor = conn.cursor() # 创建游标对象用于执行SQL
注意:连接完成后务必在操作结束时关闭游标和连接,以释放资源。
执行SQL操作
通过游标执行SQL语句,可实现数据查询、插入、更新等操作:
- 查询数据:使用
SELECT语句并获取结果:cursor.execute("SELECT * FROM users") rows = cursor.fetchall() # 获取所有记录 for row in rows: print(row) - 插入数据:通过参数化查询避免SQL注入风险:
sql = "INSERT INTO users (name, age) VALUES (%s, %s)" val = ("Alice", 30) cursor.execute(sql, val) conn.commit() # 提交事务,确保数据持久化 - 更新与删除:类似插入操作,执行后需调用
commit()提交更改。
错误处理与连接管理
使用try-except块捕获数据库操作异常,并确保连接正确关闭:
try:
cursor.execute(sql)
conn.commit()
except mysql.connector.Error as err:
print(f"错误: {err}")
conn.rollback() # 回滚事务
finally:
cursor.close()
conn.close()
使用ORM工具简化操作
对于复杂应用,推荐使用ORM(对象关系映射)库如SQLAlchemy或Django ORM,它们将数据库表映射为Python类,允许以面向对象方式操作数据,减少手动编写SQL的工作量,用SQLAlchemy定义模型并查询:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
engine = create_engine('mysql+pymysql://user:password@localhost/test_db')
Session = sessionmaker(bind=engine)
session = Session()
users = session.query(User).filter(User.name == "Alice").all()
Python操作MySQL的关键在于:选择合适的连接库、安全地执行SQL语句、妥善管理连接与事务,对于简单任务,直接使用mysql-connector-python即可快速上手;而大型项目则建议采用ORM工具提升开发效率与代码可维护性,无论哪种方式,遵循良好的错误处理和实践规范,都能确保数据操作的稳定与安全。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/18654.html发布于:2026-09-23





