【发布时间】:2009-10-25 10:37:00
【问题描述】:
Mysql 的两个库。 我一直使用 _mysql 因为它更简单。
谁能告诉我区别,为什么我应该在某些场合使用哪一个?
【问题讨论】:
-
我认为这肯定会引起人们的兴趣...charlesnagy.info/it/python/…
Mysql 的两个库。 我一直使用 _mysql 因为它更简单。
谁能告诉我区别,为什么我应该在某些场合使用哪一个?
【问题讨论】:
MySQLdb 使用 DB-API(在PEP 249 中描述),这应该是首选,因为它对所有数据库驱动程序都是通用的。恕我直言,使用_mysql 进行低级处理没有任何优势。我宁愿考虑使用更高级别的库,例如 SQLAlchemy。
【讨论】:
_mysql 需要存在才能将更高级别的 api 连接到 C 库。 _ 应该是您通常不应该使用它的线索。
或者,您可以使用MySQL Connector/Python:
MySQL 连接器/Python 完全用 Python 实现 MySQL 客户端/服务器协议。这意味着您不必编译任何东西,或者甚至不必在机器上安装 MySQL。
【讨论】:
_mysql 是粗略的 mysql API 的一对一映射。在它之上,构建了 DB-API,使用游标等处理事情。
如果您习惯了 libmysqlclient 提供的低级 mysql API,那么 _mysql 模块就是您所需要的,但正如另一个答案所说,没有必要如此低级。您可以使用 DB-API 并表现得很好,另外还有一个好处是 DB-API 独立于后端。
【讨论】: