MySQL库¶
python 下 mysql 的客户端主流有三个 pymysql, mysqldb 和 mysql connector。
综合来说,如果你使用的是 MySQL 8.0 及以上版本,或者更加关注性能和稳定性,那么建议使用 mysql-connector-python;如果你使用的是 MySQL 5.x 版本,或者更加关注易用性和文档完备性,那么建议使用 pymysql。
MySQLdb¶
MySQLdb 又叫 MySQL-python
只支持 Python2.x
mysql 官方推出基于 C 库来写 mysql 连接库,非纯 python。之前 mysqldb 只支持 python2,后面 mysqlclient 在 mysqldb 的基础上 fork 来支持 python3。
安装:
pip install mysql-python
Mysqlclient¶
MySQLdb 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM 的依赖工具
安装:
pip install mysqlclient
使用:
import mysqldb
mysql-connector¶
mysql connector for python
mysql 官方推出的纯 python 实现的连接库。
支持 Python 2.x 和 3.x 版本
提供了更多的功能,例如支持存储过程、支持集群和读写分离等。
依赖于 dnspython 和 protobuf
安装:
pip install mysql-connector-python
mysql-connector-python-rf¶
PyMySQL¶
是纯 python 写的主流连接库,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐
支持 Python 2.x 和 3.x 版本
兼容 MySQLdb: 在调用 pymysql.install_as_MySQLdb () 后,几乎完全兼容 MySQLdb。
安装:
pip install PyMySQL
使用:
import pymysql