Python 中的 MySQL 驱动包介绍

在 Python 里连接 MySQL 数据库时,需要依赖第三方驱动。不同驱动在兼容性、性能、安装难度上各有差异,本文介绍几种常见选择及适用场景。 1. MySQLdb(Python 2 时代常用) MySQLdb 是早期在 Python 2 下最常用的 MySQL 驱动,基于 C 扩展,性能好,API 和 DB-API 2.0 一致。 适用:仅限 Python 2 安装:pip install MySQL-python(Python 2 环境) 现状:官方已不再维护,Python 3 下请改用下文中的替代品 # Python 2 示例 import MySQLdb conn = MySQLdb.connect(host='localhost', user='root', passwd='', db='test') cursor = conn.cursor() cursor.execute("SELECT 1") 2. mysqlclient(推荐,Python 3 下的「正统」替代) mysqlclient 是 MySQLdb 的 Python 3 分支,继续使用 C 扩展,兼容 DB-API 2.0,接口和 MySQLdb 几乎一致,所以从 MySQLdb 迁移成本很低。 适用:Python 3 安装:pip install mysqlclient 特点:性能好、和 MySQLdb API 兼容、需要本机有 MySQL 开发库(如 Windows 上可能需额外安装) import MySQLdb # 包名仍是 MySQLdb,由 mysqlclient 提供 conn = MySQLdb.connect( host='localhost', user='root', password='your_password', database='mydb', charset='utf8mb4' ) cursor = conn.cursor() cursor.execute("SELECT id, name FROM users WHERE id = %s", (1,)) rows = cursor.fetchall() conn.close() 3. PyMySQL(纯 Python,易安装) PyMySQL 是纯 Python 实现,不依赖 C 扩展和 MySQL 客户端库,因此 pip install PyMySQL 即可,在 Windows 或没有 MySQL 开发环境的机器上特别方便。 ...

2022-05-09

高性能MySQL

《高性能mysql(第3版)》是mysql 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新mysql 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的mysql 和mysql相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。 《高性能mysql(第3版)》不但适合数据库管理员(dba)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。

2019-12-09