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 * 项目主页: https://pypi.org/project/mysql-connector-python/ * MySQL官网: https://dev.mysql.com/downloads/connector/python/ 安装:: pip install mysql-connector-python mysql-connector-python-rf ------------------------- * 项目主页: https://pypi.org/project/mysql-connector-python-rf/ PyMySQL ======= * 是纯 python 写的主流连接库,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐 * 支持 Python 2.x 和 3.x 版本 * 兼容 MySQLdb: 在调用 `pymysql.install_as_MySQLdb ()` 后,几乎完全兼容 `MySQLdb`。 安装:: pip install PyMySQL 使用:: import pymysql 对比 ==== .. figure:: https://img.zhaoweiguo.com/uPic/2024/04/fQLJQW.png 查询性能测试效果: mysql-connector-python 的优势明显,但这是因为使用的 whl 文件中包含了编译好的 dll 文件。纯 python 版本的 mysql-connector 也是一样的慢。from: https://cloud.tencent.com/developer/article/1588861