Python 教程

18.3 连接其他数据库(如MySQL):使用 PyMySQL 驱动

Python 使用 PyMySQL 连接 MySQL 数据库 – 初学者简单教程

Python 教程

学习如何使用 PyMySQL 驱动程序在 Python 中轻松连接到 MySQL 数据库,涵盖安装、连接代码示例、基本查询和错误处理,适合新学习者入门。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

使用 PyMySQL 在 Python 中连接 MySQL 数据库

简介

PyMySQL 是一个纯 Python 编写的 MySQL 数据库驱动程序,它允许 Python 程序与 MySQL 服务器进行交互。本教程将带你逐步学会如何使用 PyMySQL 连接到 MySQL 数据库,非常适合初学者。

前提条件

在开始之前,请确保你已经具备以下条件:

  • 已安装 Python(建议使用 Python 3.x 版本)。
  • 已安装 MySQL 服务器并运行正常。
  • 有 MySQL 数据库的基本知识(如用户名、密码、数据库名)。

安装 PyMySQL

首先,你需要安装 PyMySQL。使用 Python 的包管理工具 pip 来安装。打开命令行或终端,输入以下命令:

pip install pymysql

安装完成后,你可以在 Python 脚本中导入 PyMySQL。

连接到 MySQL 数据库

基本连接步骤

  1. 导入 PyMySQL 模块:在 Python 代码开头导入 pymysql。
  2. 创建数据库连接:使用 pymysql.connect() 方法,传入必要的连接参数。
  3. 创建游标对象:游标用于执行 SQL 查询和获取结果。
  4. 执行 SQL 查询:使用游标执行查询,如 SELECT 语句。
  5. 获取和处理结果:获取查询结果并进行操作。
  6. 关闭连接:完成后关闭游标和连接,释放资源。

示例代码

下面是一个完整的示例代码,展示如何连接到 MySQL 数据库并执行一个简单的查询:

import pymysql

# 创建数据库连接
# 替换为你的实际数据库信息
connection = pymysql.connect(
    host='localhost',           # MySQL 服务器地址,通常是 'localhost' 或 IP 地址
    user='your_username',       # 你的 MySQL 用户名
    password='your_password',   # 你的 MySQL 密码
    database='your_database'    # 要连接的数据库名
)

# 创建游标对象
cursor = connection.cursor()

# 执行一个 SQL 查询
# 假设有一个名为 'users' 的表
query = "SELECT * FROM users"
try:
    cursor.execute(query)  # 执行查询
    # 获取所有结果
    results = cursor.fetchall()
    # 遍历并打印结果
    for row in results:
        print(row)
except Exception as e:
    print(f"查询出错: {e}")
finally:
    # 关闭游标和连接
    cursor.close()
    connection.close()

参数解释

  • host:MySQL 服务器的地址,如果数据库在本地,可以是 'localhost''127.0.0.1'
  • user:用于连接的 MySQL 用户名。
  • password:对应的 MySQL 密码。
  • database:要连接的数据库名称,如果未指定,可以在后续选择数据库。

常见操作

一旦连接成功,你可以执行各种数据库操作:

  • 执行查询:使用 cursor.execute() 方法运行 SQL 语句。
  • 插入数据:例如,执行 INSERT INTO 语句并提交更改(使用 connection.commit())。
  • 更新和删除:类似地执行 UPDATEDELETE 语句。

示例:插入数据

# 在连接建立后
insert_query = "INSERT INTO users (name, age) VALUES ('Alice', 25)"
try:
    cursor.execute(insert_query)
    connection.commit()  # 提交事务以保存更改
    print("数据插入成功")
except Exception as e:
    connection.rollback()  # 如果出错,回滚事务
    print(f"插入失败: {e}")

错误处理

数据库操作中可能会遇到错误,如连接失败或查询错误。建议使用 try-except 块来处理异常:

try:
    # 尝试连接
    connection = pymysql.connect(...)
except pymysql.Error as e:
    print(f"连接失败: {e}")
    # 可以在这里添加重试或退出逻辑

总结

使用 PyMySQL 连接 MySQL 数据库是 Python 中一个简单但强大的技能。记住以下关键点:

  • 总是安装最新版本的 PyMySQL。
  • 在连接字符串中提供正确的数据库信息。
  • 使用游标执行查询,并在完成后关闭连接以释放资源。
  • 处理可能出现的错误,确保代码的健壮性。

通过本教程,你应该能自信地开始使用 PyMySQL 进行基本的数据库操作。如果有更多问题,参考官方文档或在线社区进一步学习。

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包