Python 使用 PyMySQL 连接 MySQL 数据库完整指南
本文详细介绍如何在 Python 中通过 PyMySQL 库连接 MySQL 数据库。内容涵盖环境安装、基础连接配置,以及利用 cursor 对象执行 SELECT、INSERT、UPDATE 和 DELETE 等 SQL 语句的具体代码示例,并强调事务提交 commit() 的重要性,帮助开发者快速掌握数据库交互核心流程。
在进行软件测试或后端开发时,数据库操作是不可或缺的一环。本文将演示如何利用 Python 语言连接 MySQL 数据库,实现数据的交互与管理。
MySQL 数据库概述
MySQL 是一款由瑞典 MySQL AB 公司开发的关系型数据库管理系统,目前归 Oracle 所有。作为目前最流行的关系型数据库软件之一,MySQL 在 Web 应用领域表现卓越,被广泛认为是 RDBMS(关系数据库管理系统)中的优秀选择。
PyMySQL 简介
PyMySQL 是专为 Python3.x 版本设计的 MySQL 连接库;在早期的 Python2 版本中,通常使用的是 mysqdb 库。
PyMySQL 严格遵循 Python 数据库 API v2.0 规范,其核心是一个纯 Python 实现的 MySQL 客户端库,无需依赖 C 语言编译组件。
安装 PyMySQL
pip install pymysql
PyMySQL 使用详解
数据库连接配置
第一步,需要在代码中导入 PyMySQL 模块。
第二步,通过 connect() 函数建立与数据库的连接。
第三步,利用连接对象创建 cursor() 游标对象,用于执行 SQL 命令。
第四步,通过游标对象对数据库执行增、删、改、查等操作。
# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
host = 'xx.xxx.xxx.xx', # 数据库地址
port = 3306, # 数据库端口号
user='xxxx', # 数据库账号
password='XXXX', # 数据库密码
db = 'test_sll') # 数据库表名# 创建数据库对象
db = count.cursor()
数据查询操作
使用 db.fetchone() 方法可以获取查询结果集中的第一条数据。
使用 db.fetchall() 方法可以获取查询结果集中的所有数据。
# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
host = 'xx.xxx.xxx.xx', # 数据库地址
port = 3306, # 数据库端口号
user='xxxx', # 数据库账号
password='xxxx', # 数据库密码
db = 'test_sll') # 数据库名称
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "select * from students "
# 执行sql命令
db.execute(sql)
# 获取一个查询
# restul = db.fetchone()
# 获取全部的查询内容
restul = db.fetchall()
print(restul)
db.close()
数据修改操作
执行完 UPDATE 等修改类 SQL 语句后,必须调用 commit() 方法提交事务,以确保内容保存到数据库。
# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
host = 'xx.xxx.xxx.xx', # 数据库地址
port = 3306, # 数据库端口号
user='xxx', # 数据库账号
password='xxx', # 数据库密码
db = 'test_sll') # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "update students set age = '12' WHERE id=1"
# 执行sql命令
db.execute(sql)
# 保存操作
count.commit()
db.close()
数据删除操作
# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
host = 'xx.xxx.xxx.xx', # 数据库地址
port = 3306, # 数据库端口号
user='xxxx', # 数据库账号
password='xxx', # 数据库密码
db = 'test_sll') # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "delete from students where age = 12"
# 执行sql命令
db.execute(sql)
# 保存提交
count.commit()
db.close()
数据新增操作
在新增数据时涉及事务机制,该机制确保数据的一致性:例如插入操作要么全部成功执行,要么完全失败,不会出现只写入一半的情况。
# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
host = 'xx.xxx.xxx.xx', # 数据库地址
port = 3306, # 数据库端口号
user='xxxx', # 数据库账号
password='xxx', # 数据库密码
db = 'test_sll') # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = "insert INTO students(id,name,age)VALUES (2,'安静','26')"
# 执行sql命令
db.execute(sql)
# 保存提交
count.commit()
db.close()
观察上述操作可以发现,除了查询(SELECT)不需要提交保存外,新增、修改和删除操作均需调用 commit() 进行保存。此外,这几类操作的区别仅在于 SQL 语句的不同,其余连接与执行流程基本一致。
创建数据表
在创建表之前,我们需要先定义表中包含的字段及其属性。
| 字段名 | 含义 | 类型 |
| id | id | varchar |
| name | 姓名 | varchar |
| age | 年龄 | int |
# coding:utf-8
import pymysql
# 连接数据库
count = pymysql.connect(
host = 'xx.xxx.xxx.xx', # 数据库地址
port = 3306, # 数据库端口号
user='xxxx', # 数据库账号
password='xxx', # 数据库密码
db = 'test_sll') # 数据库表名
# 创建数据库对象
db = count.cursor()
# 写入SQL语句
sql = 'CREATE TABLE students (id VARCHAR(255) ,name VARCHAR(255) ,age INT)'
# 执行sql命令
db.execute(sql)
db.close()
以上就是 Python 基于 PyMySQL 操作 MySQL 数据库的完整流程,更多相关技术细节可参考本站其他文章。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









