gpt4 book ai didi

python - MySQLdb、mysqlclient 和 MySQL 连接器/Python 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 12:56:04 24 4
gpt4 key购买 nike

所以我一直在尝试用 python 做一些数据库更新,在设置整个开发环境时,我遇到了这三件事让我头晕目眩。

  1. MySQLdb

  2. mysqlclient

  3. 然后是 mysql connector python

它们各自是什么,有什么区别以及在哪里使用它们?谢谢

最佳答案

MySQLdb是一个围绕 C 模块的瘦 python 包装器,它实现了 MySQL 数据库的 API。

MySQLDb1前一段时间使用的包装器版本,现在它被认为是一个遗留物。随着 MySQLDb1 开始演变为 MySQLDb2通过错误修复和 Python3 支持,一个 MySQLDb1 被 fork ,这就是 mysqlclient出现了,带有错误修复和 Python3 支持。总结一下,现在我们有了 MySQLDb2,它还没有准备好用于生产环境,MySQLDb1 作为一个过时的驱动程序,以及一个社区支持的 mysqlclient,修复了错误并支持 Python3。

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

所以现在问题归结为:mysqlclient vs mysql connector。

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

注意:我对它们没有太多经验,因此可能有一种情况或另一种不适合您的需求。两个库都遵循 PEP-249标准,这意味着您应该可以在任何地方至少使用基本功能。

安装和依赖

  • mysql客户端

作为 C 包装器的一个分支,它需要 C 模块与 MySQL 一起工作,MySQL 添加 python 头文件来构建这些扩展(阅读 python-dev)。安装取决于你使用的系统,只要确保你知道包名并且可以安装它们。

关于python - MySQLdb、mysqlclient 和 MySQL 连接器/Python 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com