前言
Python支持通过多种方式访问MySQL数据库。可能有些刚入门的朋友们对Python访问MySQL数据库还不是很熟悉,故计划对Python访问MySQL数据库的这几种方式分别作一介绍。
上一篇中已经对 “Python通过MySQL Connector/Python驱动接口来访问操作MySQL数据库” 进行了介绍。
本文是该系列的第二篇,对 “Python通过PyMySQL驱动接口来访问操作MySQL数据库” 进行介绍。
本文以Windows平台上开发为例进行讲解,相关基本开发环境如下:
(1) Windows 7 (64位)
(2) MySQL 8.0.21
(3) Python 3.8.5
(4) PyMySQL 0.10.0
本次分享的内容目录如下:
前言
1. PyMySQL 介绍
2. PyMySQL 安装
3. PyMySQL 示例代码
结束语
1. PyMySQL 简介
PyMySQL是一个Pure Python MySQL Driver,是一个可以使Python连接到MySQL的驱动接口(库),它是一个开源项目。
通过PyMySQL驱动接口,Python程序就可以使用遵循Python数据库API规范v2.0(PEP 249)的API来便捷地访问MySQL数据库了。
![bb737d533dc6941e799b43573b70e280.png](https://i-blog.csdnimg.cn/blog_migrate/c9b8e7f6f40726aad35f5964230422bc.jpeg)
PyMySQL项目(PyPI)网址:https://pypi.org/project/PyMySQL
PyMySQL项目(GitHub)网址:https://github.com/PyMySQL/PyMySQL
PyMySQL最新文档:https://pymysql.readthedocs.io/en/latest
PyMySQL最新版本:0.10.0(2020年7月18日)
注:PyMySQL的大多数的公共API与mysqlclient和MySQLdb兼容。
2. PyMySQL 安装
2.1 MySQL下载安装
![82e57b46822909670b576c636a8f4a32.png](https://i-blog.csdnimg.cn/blog_migrate/5fd2ccd48c3414ef43fb8f043d428224.jpeg)
一、MySQL下载
可从MySQL官方下载网址[https://dev.mysql.com/downloads/installer]上找到安装包。
![54d60d74418b7325b900cc100b14882b.png](https://i-blog.csdnimg.cn/blog_migrate/cbe0801274214be5a00adcbb1b58edd6.jpeg)
注:这里选择64位Windows平台对应的最新MySQL Community版本安装文件:【mysql-installer-community-8.0.21.0.msi】。
二、MySQL安装
执行mysql-installer-community-8.0.21.0.msi安装文件,根据提示完成MySQL安装。
三、MySQL账户权限设置
![ed73b53aa5a0d09cc6a25f3f3730cc02.png](https://i-blog.csdnimg.cn/blog_migrate/5b9fe76f9cbb64a1135b298d5ff47d76.jpeg)
2.2 Python下载安装
![97eb3ffdeaff59b523b6570bb9f94261.png](https://i-blog.csdnimg.cn/blog_migrate/5281e68df706fa0d62c18e41157c16b3.jpeg)
一、Python下载
可从Python官方下载网址[https://www.python.org/downloads]上找到安装包。
![7977c895222a2c4ce0767653c277ab75.png](https://i-blog.csdnimg.cn/blog_migrate/37fcde1ef7bca957619a3f13a98db3fa.jpeg)
注:这里选择64位Windows平台对应的最新版本的Python安装文件:【python-3.8.5-amd64.exe】。
二、Python安装
执行python-3.8.5-amd64.exe安装文件,根据提示完成Python安装。
注:在Windows上安装Python时,请务必在安装过程中启用【将python.exe添加到Path】 。
2.3 PyMySQL下载安装
![34aa235c7806e2f59f32b9418f3ff022.png](https://i-blog.csdnimg.cn/blog_migrate/64f39791d15f2419c4e9ceba1b2be393.jpeg)
PyMySQL可以通过pip命令来完成下载安装。
![313057641f1a7c78e8b4f0656b04785b.png](https://i-blog.csdnimg.cn/blog_migrate/bc669fb116efc78f6365911a2ba281cc.jpeg)
注:在Windows上,PyMySQL的默认安装位置为:{python安装路径}Libsite-packages。如本机Python安装在C:DevelopPython目录下,则PyMySQL安装在C:DevelopPythonLibsite-packages目录下。
可以通过如下方式来对安装进行验证:
![99f7a558f63f30edbe9f761d5099b060.png](https://i-blog.csdnimg.cn/blog_migrate/4602c82ac4e3ecdd86328bf41b0d67f9.jpeg)
3. PyMySQL 示例代码
Python通过PyMySQL驱动接口访问操作MySQL一般流程为:(1) 建立连接;(2) 获取游标;(3) 执行SQL;(4) 提交事务; (5) 释放资源。
下面针对访问MySQL数据库常见的操作(如:连接数据库、创建数据库、删除数据库、创建数据表、删除数据表、插入数据记录、删除数据记录、修改数据记录、查询数据记录等)分别给出一个较为完整的入门示例(含详细代码注释)。
3.1 创建数据库连接示例
![b78d5e619ee0e2576708c40dde59432c.png](https://i-blog.csdnimg.cn/blog_migrate/03b8477afe21ffbefd4d052575d5461b.jpeg)
说明:pymysql.connect()构造函数创建到MySQL服务器的连接并返回一个MySQLConnection对象。
3.2 创建数据库示例
![b346ae9ea760d57c83c7b4127567db8d.png](https://i-blog.csdnimg.cn/blog_migrate/9f79de18b792231ac5dd97482f60f4d1.jpeg)
几个关键方法说明如下:
(1) cursor() 方法获得MySQL的操作游标,利用游标来执行SQL语句。
(2) execute() 方法将字符串内容当做命令来执行,作用是动态创建和执行SQL语句。
(3) commit() 方法才是真正将SQL语句提交到数据库执行的方法。对于数据的增删改查操作,都需要调用该方法才能生效。
(4) rollback():如果执行失败,调用该方法执行数据回滚,相当于什么都没发生过。
3.3 删除数据库示例
![f0802b955b2aa328dcd12ecad16c50ad.png](https://i-blog.csdnimg.cn/blog_migrate/aa9d7af4cb6f465be0a641228001e209.jpeg)
3.4 创建数据表示例
![85fac55de127399bb66726b475277cdc.png](https://i-blog.csdnimg.cn/blog_migrate/a5100ecaf31907da3875408e318bd767.jpeg)
3.5 删除数据表示例
![e90aab63911319a0ddb09762f2f6e27a.png](https://i-blog.csdnimg.cn/blog_migrate/413897db4b4c8de0bd8aca581a612c7e.jpeg)
3.6 插入数据记录示例
![c8269361b39b303d3684492f720e6c63.png](https://i-blog.csdnimg.cn/blog_migrate/39e356e2e7ab6ff058367c6a1131b752.jpeg)
3.7 批量插入数据记录示例
![c736e4c755f16ad0e1c3b575ee708ffb.png](https://i-blog.csdnimg.cn/blog_migrate/a9cc906e091278f837cfc3b2ece3e150.jpeg)
3.8 删除数据记录示例
![485a79eeb403db2a6e5195798c275f96.png](https://i-blog.csdnimg.cn/blog_migrate/055bcb35788eed4792d33797b2cb1933.jpeg)
3.9 修改数据记录示例
![e2bc83b38437497abcc930773909ecd6.png](https://i-blog.csdnimg.cn/blog_migrate/bb92e743283cca77d57592b7121584e8.jpeg)
3.10 查询数据记录示例
![e525b2dd289b524e6f3e0f7828ac77fd.png](https://i-blog.csdnimg.cn/blog_migrate/90db42810bda7a1b44d48f2077bb8349.jpeg)
根据读取数据的多少,应采用不同的方法:
(1) 如果读取全部数据,使用fetchall() 方法。
(2) 如果读取多条数据,使用fetchmany(n) 方法。
(3) 如果读取一条数据,使用fetchone()方法。
结束语
通过上面的介绍,相信感兴趣的朋友们已经对Python通过PyMySQL驱动接口来访问操作MySQL数据库有了一个基本的了解了。
不知您有没有发现,PyMySQL示例代码跟上一篇介绍的MySQL Connector/Python示例代码差不多,将之前示例代码中所有的“mysql.connector”替换为"pymysql"即可。为什么呢?原因就在于它们都遵循Python数据库API规范v2.0(PEP 249)。
本系列下一篇文章将针对 “Python通过MySQLdb驱动接口来访问操作MySQL数据库” 进行介绍,敬请关注后续文章!
本文为原创,如果文章对您有所帮助,喜欢的话就点个赞加关注支持一下哈:)