如何在Windows的Python3中连接到MySQL?

2024-04-24 08:17:15 发布

您现在位置:Python中文网/ 问答频道 /正文

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

在存在用于mysqldb的二进制文件的地方是否有可用的存储库? 如何在Windows的Python3中连接到MySQL?


Tags: 模块文件数据库windows地方mysql二进制python3
3条回答

您可能应该改用pymysql-纯Python MySQL客户端
它与Python3.x一起工作,并且没有任何依赖项。

This pure Python MySQL client provides a DB-API to a MySQL database by talking directly to the server via the binary client/server protocol.

Example:

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()

我也尝试过使用pymysql(在我的Win7 x64机器上,Python 3.3),但没有太多的运气。我下载了.tar.gz,解压,运行“setup.py install”,一切看起来都很好。直到我尝试连接到数据库,得到“KeyError[56]”。我在任何地方都找不到记录在案的错误。

所以我放弃了pymysql,我决定使用Oracle MySQL connector

它是一个安装包,可以开箱即用。而且它似乎也有很好的记录。

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

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

  • Oracle正式支持
  • 纯Python
  • 有点慢
  • 与MySQLdb不兼容

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

  • 纯Python
  • 比mysql连接器快
  • 在调用pymysql.install_as_MySQLdb()之后,几乎与MySQLdb完全兼容

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

  • 带可选C加速的pymysql分支

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

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

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

相关问题 更多 >