如何在Windows上用Python 3连接MySQL?
我在Windows上使用ActiveState Python 3,想要连接到我的MySQL数据库。听说mysqldb
是一个可以用的模块。不过,我找不到适用于Python 3的mysqldb
。
有没有可以找到mysqldb
二进制文件的库?我该如何在Windows上用Python 3连接到MySQL呢?
15 个回答
11
如果你想使用 MySQLdb,首先需要在你的电脑上安装 pymysql。你可以在 Windows 的命令提示符(cmd)里输入以下内容:
pip install pymysql
然后在 Python 的命令行界面里输入:
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb
db = MySQLdb.connect("localhost" , "root" , "password")
这样就可以建立连接了。
73
你可能应该使用pymysql - 纯Python的MySQL客户端。
它可以在Python 3.x上运行,而且没有任何额外的依赖。
这个纯Python的MySQL客户端通过直接与服务器进行二进制的客户端/服务器协议来提供一个数据库API,让你可以和MySQL数据库进行交互。
示例:
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()
296
现在有几种方法可以在Python 3中使用MySQL:
https://pypi.python.org/pypi/mysql-connector-python
- 这是Oracle官方支持的库。
- 完全用Python写的。
- 速度有点慢。
- 和MySQLdb不兼容。
https://pypi.python.org/pypi/pymysql
- 也是完全用Python写的。
- 比mysql-connector快。
- 几乎完全兼容
MySQLdb
,只需要调用pymysql.install_as_MySQLdb()
。
https://pypi.python.org/pypi/cymysql
- 这是pymysql的一个分支,提供可选的C语言加速。
https://pypi.python.org/pypi/mysqlclient
- 这是Django推荐的库。
- 是原始MySQLdb的友好分支,希望有一天能合并回去。
- 速度最快,因为它是用C语言实现的。
- 与MySQLdb兼容性最好,因为它是一个分支。
- Debian和Ubuntu使用它来提供
python-mysqldb
和python3-mysqldb
这两个包。
基准测试在这里可以查看:https://github.com/methane/mysql-driver-benchmarks