当前位置:首页 > Python > 正文

Python操作MySQL数据库(使用PyMySQL从零开始)

在现代软件开发中,数据库是存储和管理数据的核心工具。而 PyMySQL 是一个纯 Python 编写的 MySQL客户端 库,它允许我们使用 Python 脚本轻松地连接、查询和操作 MySQL 数据库。无论你是编程新手还是有一定经验的开发者,这篇教程都将带你从安装到实战,一步步掌握如何用 Python 连接 MySQL。

Python操作MySQL数据库(使用PyMySQL从零开始) PyMySQL  MySQL客户端 Python连接MySQL 数据库操作 第1张

一、为什么选择 PyMySQL?

PyMySQL 是一个轻量级、纯 Python 实现的 MySQL 客户端,兼容 Python 3.x。与 MySQLdb 不同,它不需要编译 C 扩展,安装简单,跨平台支持良好。对于初学者来说,它是学习 Python连接MySQL 的理想选择。

二、安装 PyMySQL

打开你的命令行终端(Windows 用户可用 CMD 或 PowerShell,Mac/Linux 用户可用 Terminal),运行以下命令:

pip install PyMySQL

安装完成后,你就可以在 Python 脚本中导入并使用它了。

三、连接 MySQL 数据库

在连接数据库之前,请确保你已经安装并启动了 MySQL 服务,并创建了一个用于测试的数据库(例如:test_db)。

下面是一个完整的连接示例:

import pymysql# 建立数据库连接connection = pymysql.connect(    host='localhost',        # MySQL服务器地址    user='your_username',    # 用户名    password='your_password',# 密码    database='test_db',      # 数据库名    charset='utf8mb4',       # 字符编码    cursorclass=pymysql.cursors.DictCursor  # 返回字典格式结果)try:    with connection.cursor() as cursor:        # 执行 SQL 查询        cursor.execute("SELECT VERSION()")        result = cursor.fetchone()        print("MySQL 版本:", result)finally:    connection.close()  # 关闭连接

请将 your_usernameyour_password 替换为你自己的 MySQL 账号信息。如果连接成功,程序会输出 MySQL 的版本号。

四、执行增删改查(CRUD)操作

掌握了连接方法后,我们来看看如何进行基本的 数据库操作

1. 创建表

with connection.cursor() as cursor:    create_table = '''    CREATE TABLE IF NOT EXISTS users (        id INT AUTO_INCREMENT PRIMARY KEY,        name VARCHAR(50) NOT NULL,        email VARCHAR(100) NOT NULL UNIQUE    )    '''    cursor.execute(create_table)connection.commit()  # 提交事务

2. 插入数据

with connection.cursor() as cursor:    sql = "INSERT INTO users (name, email) VALUES (%s, %s)"    cursor.execute(sql, ('张三', 'zhangsan@example.com'))connection.commit()

3. 查询数据

with connection.cursor() as cursor:    cursor.execute("SELECT * FROM users")    results = cursor.fetchall()    for row in results:        print(row)

4. 更新与删除

# 更新with connection.cursor() as cursor:    cursor.execute("UPDATE users SET email=%s WHERE name=%s", ('newemail@example.com', '张三'))connection.commit()# 删除with connection.cursor() as cursor:    cursor.execute("DELETE FROM users WHERE name=%s", ('张三',))connection.commit()

五、安全提示

永远不要直接拼接用户输入到 SQL 语句中!使用参数化查询(如上面示例中的 %s 占位符)可以有效防止 SQL 注入攻击。

六、总结

通过本教程,你已经学会了如何使用 PyMySQL 这个强大的 MySQL客户端 库来实现 Python连接MySQL 并完成基本的 数据库操作。现在你可以尝试构建自己的数据驱动应用了!

祝你编程愉快!