Python 连接数据库-pymysql和MySQLclient的选择

不管是在使用框架比如Django,flask等等还是编写监控,或者爬虫等等Python项目时,可能都需要Python与MySQL数据库进行交互,因此需要安装MySQL驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。 

常见的Mysql驱动介绍:

  • MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。
     
  • mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。是一个C扩展模块,编译安装可能会导致报各种错误。
  • pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
  • MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。

这些驱动的下载一般在两个网站,一个是Python官网,一个是一个教育网,两个网址分别是:

https://pypi.org/project/​​https://www.lfd.uci.edu/~gohlke/pythonlibs/

https://www.lfd.uci.edu/~gohlke/pythonlibs/

如果是大型项目,当然是用MySQLclient,该驱动性能比较优异、中小项目是用pyMySQL就可以了,毕竟是使用Python写的,契合度更高。Windows下安装驱动一般到lfd网站下载安装,不会出现什么编译的问题,选择合适的版本即可。

结论:推荐使用MySQLclient,如果对性能无所谓,没什么要求,pymysql是一个简单的选择。

如果使用MySQLclient,尽量第二个网址寻找对应版本下载。如果点击下载显示404,通常这样的情况是出现在QQ浏览器或者什么别的比较国内的浏览器,更换为火狐,opera谷歌浏览器等等即可。

Python 连接数据库-pymysql和MySQLclient的选择_数据库

Python 连接数据库-pymysql和MySQLclient的选择_数据库_02