Python如何连接与操作MySQL数据库

Python通过多种库可以高效地连接和操作MySQL数据库,其中最常用的是mysql-connector-pythonPyMySQL 本文将详细介绍如何使用这些工具进行数据库的连接、查询、插入、更新和删除操作,帮助开发者快速掌握Python与MySQL的交互技巧。

安装必要的库

确保已安装MySQL数据库,并在Python环境中安装对应的连接库,常用的库有:

python 如何使用mysql,Python高效操作MySQL数据库指南

  • mysql-connector-python(官方驱动)
  • PyMySQL(纯Python实现的驱动)

通过pip安装:

pip install mysql-connector-python
# 或
pip install pymysql

连接MySQL数据库

使用以下代码建立与MySQL数据库的连接:

import mysql.connector
# 配置连接参数
config = {
    'host': 'localhost',
    'user': 'your_username',
    'password': 'your_password',
    'database': 'your_database'
}
# 建立连接
conn = mysql.connector.connect(**config)
print("数据库连接成功!")

如果使用PyMySQL,方法类似,只需将mysql.connector替换为pymysql

执行SQL查询

连接成功后,可以通过游标(cursor)执行SQL语句:

# 创建游标对象
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM your_table")
# 获取所有结果
results = cursor.fetchall()
for row in results:
    print(row)
# 关闭游标和连接
cursor.close()
conn.close()

插入、更新和删除数据

插入数据示例:

sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
values = ("张三", 25)
cursor.execute(sql, values)
conn.commit()  # 提交事务
print("插入成功!")

更新数据示例:

sql = "UPDATE users SET age = %s WHERE name = %s"
values = (26, "张三")
cursor.execute(sql, values)
conn.commit()

删除数据示例:

sql = "DELETE FROM users WHERE name = %s"
values = ("张三",)
cursor.execute(sql, values)
conn.commit()

使用上下文管理器优化代码

为了确保资源正确释放,推荐使用上下文管理器(with语句):

with mysql.connector.connect(**config) as conn:
    with conn.cursor() as cursor:
        cursor.execute("SELECT * FROM users")
        results = cursor.fetchall()
        for row in results:
            print(row)

错误处理

在实际应用中,务必添加异常处理来应对连接失败或SQL执行错误:

try:
    conn = mysql.connector.connect(**config)
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM users")
except mysql.connector.Error as err:
    print(f"数据库错误: {err}")
finally:
    if conn.is_connected():
        cursor.close()
        conn.close()

使用ORM框架(进阶)

对于复杂项目,推荐使用ORM(对象关系映射)框架,如SQLAlchemyDjango ORM,它们可以简化数据库操作并提高代码可维护性。

Python操作MySQL数据库的核心步骤包括:安装驱动、建立连接、执行SQL语句和处理结果。关键点在于正确管理连接和游标资源,并始终使用参数化查询来防止SQL注入攻击。 掌握这些基础后,可以进一步学习连接池、异步操作等高级特性,以提升数据库性能。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/9482.html发布于:2026-08-07