如何在 Windows 上使用 Python 3 连接到 MySQL?

新手上路,请多包涵

我在 Windows 上使用 ActiveState Python 3 并想连接到我的 MySQL 数据库。我听说 mysqldb 是要使用的模块。我找不到适用于 Python 3 的 mysqldb

二进制文件是否存在 mysqldb 的存储库可用?如何在 Windows 上使用 Python 3 连接到 MySQL?

原文由 panofish 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 511
2 个回答

目前有几个选项可以将 Python 3 与 mysql 结合使用:

https://pypi.python.org/pypi/mysql-connector-python

  • Oracle 官方支持
  • 纯蟒蛇
  • 有点慢
  • 与 MySQLdb 不兼容

https://pypi.python.org/pypi/pymysql

  • 纯蟒蛇
  • 比 mysql-connector 更快
  • 几乎完全兼容 MySQLdb ,调用 pymysql.install_as_MySQLdb()

https://pypi.python.org/pypi/cymysql

  • 带有可选 C 加速的 pymysql 分支

https://pypi.python.org/pypi/mysqlclient

  • Django 推荐的库。
  • 原始 MySQLdb 的友好分支,希望有一天能合并回来
  • 最快的实现,因为它是基于 C 的。
  • 与 MySQLdb 最兼容,因为它是一个分支
  • Debian 和 Ubuntu 使用它来提供 python-mysqldbpython3-mysqldb 包。

这里的基准: https ://github.com/methane/mysql-driver-benchmarks

原文由 Collin Anderson 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可能应该改用 pymysql - 纯 Python MySQL 客户端

它适用于 Python 3.x,并且没有任何依赖项。

这个纯 Python MySQL 客户端通过二进制客户端/服务器协议直接与服务器对话,为 MySQL 数据库提供 DB-API。

例子:

 import pymysql
conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='root', passwd=None, db='mysql')
cur = conn.cursor()
cur.execute("SELECT Host,User FROM user")
for r in cur:
    print(r)
cur.close()
conn.close()

原文由 Oleh Prypin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题