Python3使用PyMySQL连接MySQL数据库及增删改查完整指南

沿途有光
沿途有光
发布时间:2026-10-13 | 5人浏览过
原创

本文详细介绍如何在Python3环境中使用PyMySQL库连接MySQL数据库。内容涵盖PyMySQL的安装方法(pip及git源码安装)、数据库连接配置、以及通过游标对象执行SQL语句实现数据的插入、查询、更新和删除操作,并提供完整的Python代码示例供参考。

Python连接MySQL数据库及CRUD操作概述

本文通过具体实例,详细解析如何利用Python实现与MySQL数据库的连接,并演示数据增删改查(CRUD)的具体操作流程。

本文将重点介绍在Python3环境下,如何使用PyMySQL库建立数据库连接,并完成基础的增删改查功能。(请注意,本教程仅适用于Python3版本)

PyMySQL库的安装方法

第一步:安装PyMySQL库

PyMySQL是专为Python3.x版本设计的MySQL服务器连接库,而在Python2中通常使用mysqldb。PyMySQL严格遵循Python数据库API v2.0规范,是一个纯Python编写的MySQL客户端库。在开始使用PyMySQL之前,请确保你的环境中已经正确安装该库。

方法一:使用pip命令进行安装


pip install PyMySQL

方法二:若你的系统环境中未配置pip命令,可通过以下git方式完成安装


//使用git下载安装包
$ git clone https://github.com/PyMySQL/PyMySQL
$ cd PyMySQL/
$ python3 setup.py install

Python连接MySQL数据库的配置与验证

第二步:在Python中连接MySQL数据库

在建立数据库连接之前,请确认满足以下条件:

Ⅰ 你的计算机上已安装Python及MySQLdb模块。 Ⅱ 数据库中已创建名为test的数据库。 Ⅲ 连接test数据库所使用的用户名为root,密码为root。你可以根据实际情况修改用户名和密码,或直接使用默认的root账号及密码。


# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0003
# * Time: 下午 2:28
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()

Python实现数据库增删改查的具体代码

第三步:在Python中操作MySQL数据库,实现增删改查

① 数据库插入操作示例


# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0004
# * Time: 下午 2:32
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO user(name)
     VALUES ('Mac')"""
try:
  # 执行sql语句
  cursor.execute(sql)
  # 提交到数据库执行
  db.commit()
except:
  # 如果发生错误则回滚
  db.rollback()
# 关闭数据库连接
db.close()

② 数据库查询操作示例


# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0005
# * Time: 下午 2:39
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM user"
try:
  # 执行SQL语句
  cursor.execute(sql)
  # 获取所有记录列表
  results = cursor.fetchall()
  for row in results:
    id = row[0]
    name = row[1]
    # 打印结果
    print("id=%s,name=%s" % \
    (id, name))
except:
  print("Error: unable to fecth data")
# 关闭数据库连接
db.close()

③ 数据库更新操作示例


# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0005
# * Time: 下午 2:39
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE user SET name = 'Bob' WHERE id = 1"
try:
  # 执行SQL语句
  cursor.execute(sql)
  # 提交到数据库执行
  db.commit()
except:
  # 发生错误时回滚
  db.rollback()
# 关闭数据库连接
db.close()

④ 数据库删除操作示例


# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0006
# * Time: 下午 2:49
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM user WHERE id = 1"
try:
  # 执行SQL语句
  cursor.execute(sql)
  # 提交修改
  db.commit()
except:
  # 发生错误时回滚
  db.rollback()
# 关闭数据库连接
db.close()

如需了解更多Python相关技术,建议参考本站专题:《Python常见数据库操作技巧汇总》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》以及《Python文件与目录操作技巧汇总》。

希望本文提供的代码和说明能对您的Python程序设计工作有所帮助。

相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表