PyMySQL 可以用作 MySQL/Connector for Python 的替代品吗?

Posted

技术标签:

【中文标题】PyMySQL 可以用作 MySQL/Connector for Python 的替代品吗?【英文标题】:Can PyMySQL be used as a drop-in replacement of MySQL/Connector for Python? 【发布时间】:2020-03-30 12:42:53 【问题描述】:

我正在寻找 mysql/Connector for Python 的替代品,并且想知道 PyMySQL 是否可以用作直接替代品。如果我这样做,我应该期望输出的一些不同的输出格式。为此,我在包含文本、数字和日期/时间字段的表上运行 SELECT 查询,PyMySQL 会返回格式与 MySQL/Connector 相同的输出吗? 我也应该期望运行其他类型的查询(如 INSERT、DELETE 等)会出现任何问题。

如果您能分享您的经验,我将不胜感激。

【问题讨论】:

【参考方案1】:

既然没有其他答案,我将分享我到目前为止的经验。 我可以说 PyMySQL 可以很好地替代 MySQL/Connector for Python。查询输出是兼容的,我更新表没有问题。 值得注意的一件事是错误输出略有不同。我在 PyMySQL 文档中没有找到太多关于错误处理的信息。通常它返回一个由错误号和错误消息组成的元组。它看起来与 MySQL/Connector 的错误输出略有不同,因此在捕获它们时应该小心。 .connect() 参数列表也不同,但这些都有很好的记录。

希望这可能会有所帮助。

【讨论】:

【参考方案2】:

这应该可行。

import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb

现在您可以将pymysql 用作MySQLdb

【讨论】:

以上是关于PyMySQL 可以用作 MySQL/Connector for Python 的替代品吗?的主要内容,如果未能解决你的问题,请参考以下文章

pymysql 使用

什么是PyMysql?

PyMySQL模块的使用

pymysql

pymysql怎么逐条读取

我可以将 pymysql.connect() 与“with”语句一起使用吗?