Python 使用 PyMySQL 连接 MySQL 数据库完整指南

Dylan
Dylan
发布时间:2026-10-15 | 4人浏览过
原创

本文详细介绍如何在 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 数据库的完整流程,更多相关技术细节可参考本站其他文章。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表