python操作MySQL目前有几种方式,分别为:

  • MySQLDB
  • mysqlclient
  • PyMySQL
  • mysql-connector-python

MySQLDb

MySQLdb 是用于Python链接Mysql数据库的接口,基于 MySQL C API 上建立的。

已停止更新,只支持Python2,不支持Python3。虽然后面出了个MySQLDb2,修复了一些BUG,也支持python3,但使用者不多。

PyMySQL

纯Python实现,安装使用都很简单,可以很好的跟gevent框架结合。以前较火,现在被mysqlclient替代,具体看下条。

mysqlclient

基于C扩展,性能佳。与PyMySQL属于同一作者。一般建议使用mysqlclient来操作MySQL数据库,除了以下情况,怕翻译有误差,直接贴原文 ^_^:

  • You can’t use libmysqlclient for some reason
  • You want to use monkeypatched socket of gevent or eventlet
  • You wan’t to hack mysql protocol

mysql-connector-python

mysql connector for python 是mysql官方推出的纯python实现的连接库。性能恐怖是前面几个最差的,不推荐使用。

性能比较

推荐几篇文章查看

Benchmarking MySQL drivers (Python 3.4)

PyMySQL Evaluation

Python MySQLdb vs mysql-connector query performance

下一篇将编写mysqlclient从安装到使用的教程。