小编典典

MySQLdb,mysqlclient和MySQL连接器/ Python有什么区别?

mysql

因此,我一直在尝试使用python进行一些数据库更新,并且在设置整个开发环境时,遇到了这三件事,这让我感到头晕。

  1. MySQLdb

  2. mysqlclient

  3. 然后是一个mysql连接器python

它们分别是什么,区别和在哪里使用?谢谢


阅读 644

收藏
2020-05-17

共1个答案

小编典典

MySQLdb是围绕C模块的瘦Python包装器,该模块实现MySQL数据库的API。

MySQLDb1包装的版本中使用前一段时间,现在它被认为是一个遗留问题。作为MySQLDb1开始发展到MySQLDb2与bug修复和Python3支持下,MySQLDb1是分叉的,这里是如何的mysql出现,补丁与Python3支持。总结一下,所以现在我们有尚未投入​​生产的MySQLDb2,过时的驱动程序MySQLDb1和社区支持的mysqlclient以及错误修复和Python3支持。

现在,为了解决这种麻烦,MySQL提供了自己的MySQL适配器版本-mysql
connector
,这是一个全功能的python模块,它使用MySQL API, 没有C模块依赖项
,只使用标准的python模块。

因此,现在的问题归结为:mysqlclient vs mysql connector。

对于我来说,我会使用官方支持的库,但是也mysqlclient应该是一个不错的选择。他们都正在积极地通过修复和新功能进行更新,您可以通过最近几天的活动提交来查看它们。

注意:我对它们没有太多经验,因此在某些情况下,一个或另一个可能无法满足您的需求。
这两个库都遵循PEP-249标准,这意味着您应该在任何地方都至少具备基本功能。

安装和依赖性

  • mysql客户端

作为C包装程序的分支,它要求C模块与MySQL一起使用,该模块添加python头文件来构建这些扩展(请阅读python-
dev)。安装取决于您使用的系统,只需确保您知道软件包名称即可安装它们。

2020-05-17