在现代软件开发中,数据库是存储和管理数据的核心工具。而 PyMySQL 是一个纯 Python 编写的 MySQL客户端 库,它允许我们使用 Python 脚本轻松地连接、查询和操作 MySQL 数据库。无论你是编程新手还是有一定经验的开发者,这篇教程都将带你从安装到实战,一步步掌握如何用 Python 连接 MySQL。
PyMySQL 是一个轻量级、纯 Python 实现的 MySQL 客户端,兼容 Python 3.x。与 MySQLdb 不同,它不需要编译 C 扩展,安装简单,跨平台支持良好。对于初学者来说,它是学习 Python连接MySQL 的理想选择。
打开你的命令行终端(Windows 用户可用 CMD 或 PowerShell,Mac/Linux 用户可用 Terminal),运行以下命令:
pip install PyMySQL 安装完成后,你就可以在 Python 脚本中导入并使用它了。
在连接数据库之前,请确保你已经安装并启动了 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_username 和 your_password 替换为你自己的 MySQL 账号信息。如果连接成功,程序会输出 MySQL 的版本号。
掌握了连接方法后,我们来看看如何进行基本的 数据库操作。
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() # 提交事务 with connection.cursor() as cursor: sql = "INSERT INTO users (name, email) VALUES (%s, %s)" cursor.execute(sql, ('张三', 'zhangsan@example.com'))connection.commit() with connection.cursor() as cursor: cursor.execute("SELECT * FROM users") results = cursor.fetchall() for row in results: print(row) # 更新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 并完成基本的 数据库操作。现在你可以尝试构建自己的数据驱动应用了!
祝你编程愉快!
本文由主机测评网于2025-12-03发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122194.html