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

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

是否存在 mysqldb的二进制文件所在的存储库? 如何在 Windows 上连接到 Python3中的 MySQL?

267048 次浏览

未经测试,但有一些可用的二进制文件:

非官方 Windows 二进制文件

您可能应该改用 Pysql -纯 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()

我还尝试使用 pymysql (在我的 Win7 x64机器上,Python 3.3) ,但运气不太好。我下载了。提取出 tar.gz,运行“ setup.py install”,一切看起来都很正常。直到我尝试连接到一个数据库,并得到“ KeyError [56]”。我无法在任何地方找到文档记录的错误。

所以我放弃了 pymysql,选择了 Oracle MySQL 连接器

它是一个安装包,可以开箱即用。

这并没有完全回答我最初的问题,但我认为让每个人都知道我做了什么以及为什么这么做很重要。

我之所以选择继续使用 python 2.7而不是 python 3,是因为 Web 上普遍存在2.7个示例和模块。

我现在使用 mysqldb 和 MySQL.connect 来连接 Python 2.7中的 MySQL。两者都很棒,工作也很顺利。然而,我认为 mysql.connect 从长远来看最终会更好。

CyMySQL Https://github.com/nakagami/cymysql

我已经在我的 windows 7上安装了 pip,使用的是 python 3.3 只是 Pip 安装 cymysql

(你不需要 cython) 速战速决

PyMySQL 也提供了类似 MySQLDb 的接口:

import pymysql
pymysql.install_as_MySQLdb()

还有一个用于 python3的 github 上的 mysql-python 端口。

Https://github.com/davispuh/mysql-for-python-3

Oracle/MySQL 提供了一个官方的纯 Python DBAPI 驱动程序: http://dev.mysql.com/downloads/connector/python/

我在 Python 3.3中使用过它,发现它非常好用。

也请看这个问题: 现在跳上巨蟒3的火车还早吗?

在我的 mac os maverick 上,我试了这个:

  • 终端机类型:

    1) Mkdir-p ~/bin ~/tmp ~/lib/python3.3 ~/src2) Export TMPDIR = ~/tmp
    3) wget-O ~/bin/2to3
    4) 译自: 美国《科学》杂志网站(http://hg.python.org/cpython/raw-file/60c831305e73/Tools/script/2to3”rel = “ nofollow”) http://hg.python.org/cpython/raw-file/60c831305e73/tools/scripts/2to3: 5) Chmod 700 ~/bin/2to36) Cd ~/src7) Git 的克隆人 < a href = “ https://github.com/peteHunt/PyMySQL.git”rel = “ nofollow”> https://github.com/petehunt/pymysql.git 8) cd PyMySQL/
    9) < strong > python3.3 setup.py install —— install-lib = $HOME/lib/python3.3 —— install-script = $HOME/bin

然后,在 python3解释器中输入:

  1. 导入 pymysql 。 如果没有错误,您的安装是正常的。为了验证,编写一个脚本,用这个表单连接 mysql:

  2. # 一个简单的 MySQL 连接脚本 Import pymysql db = pymysql.connect (host = “ localhost”,user = “ root”,passwd = “ * ”,db = “ bibleoteca”) # 当然,这是 我的 db 的信息 # 关闭连接 db.close () *

给它一个名字(例如“ con.py”)并保存在桌面上 $python con.py 如果没有错误,您已连接到 MySQL 服务器。祝您好运!

目前有一些在 mysql 中使用 Python 3的选项:

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

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

Https://pypi.python.org/pypi/pymysql

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

Https://pypi.python.org/pypi/cymysql

  • 带有可选 C 加速的 pymysql fork

Https://pypi.python.org/pypi/mysqlclient

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

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

我把 cymysql 和 python3用在树莓派上 我只是通过以下方式安装: 安装 cython 安装 cymysql 其中 cython 不是必需的,但是应该使 cymysql 更快

到目前为止,它的工作原理非常类似于 MySQLdb

如果你想首先使用 MySQLdb,你必须通过输入 windows 的 cmd 在你的电脑上安装 pymysql

pip install pymysql

然后在 python shell 中输入

import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb
db = MySQLdb.connect("localhost" , "root" , "password")

这样就能建立联系。

摘要

Mysqlclient 是最好的替代方案(IMHO) ,因为它可以完美地与 Python 3 + ,遵循预期的 会议(与 mysql 不同 连接器) ,使用对象名称 Mysqldb,这样便于移植 现有的软件,并被 姜戈用于 Python 3构建

是否有一个存放 mysqldb 的二进制文件的存储库?

是的。 mysqlclient 允许您使用 mysqldb 函数, 请记住这是 mysqldb 的 不是直达港,但是是 mysqlclient 构建的

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

安装 mysqlclient

例子

#!/Python36/python
#Please change above path to suit your platform.  Am running it on Windows
import MySQLdb
db = MySQLdb.connect(user="my-username",passwd="my-password",host="localhost",db="my-databasename")
cursor = db.cursor()
cursor.execute("SELECT * from my-table-name")
data=cursor.fetchall()
for row in data :
print (row)
db.close()

我找不到 Python 3的 mysqldb。

Mysqldb 还没有被移植

这是一个关于如何让 Python 3.7使用 Mysql 的快速教程
感谢所有回答我问题的人
希望有一天这能帮到别人。
----------------------------------------------------
我的系统:
Windows 版本: Pro 64-bit < br/>

要求. . 下载和安装这些第一..。
1. 下载 Xampp. 。
Https://www.apachefriends.org/download.html
2. 下载 Python
Https://www.python.org/downloads/windows/

--------------
//方法
--------------
在完成安装后首先安装 xampp-Install Python 3.7。
一旦完成安装两个-重新启动您的 Windows 系统。
现在启动 xampp 并从控制面板启动 mysql 服务器。
打开 CMD 并在终端类型 < br/>

中确认版本
c:\>cd c:\xampp\mysql\bin


c:\xampp\mysql\bin>mysql -h localhost -v
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.21-MariaDB mariadb.org binary distribution


Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

这是为了检查 MYSQL 版本

c:\xampp\mysql\bin>python
Python 3.7.0b3 (v3.7.0b3:4e7efa9c6f, Mar 29 2018, 18:42:04) [MSC v.1913 64 bit (AMD64)] on win32

这是为了检查 Python 版本
现在两种类型都已经确认进入 CMD... < br/>

c:\xampp\mysql\bin>pip install pymysql

在 pymysql 安装完成之后。
在桌面或任何地方创建一个名为“ testconn.py”的新文件,以便快速访问。
使用 sublimor 或其他文本编辑器打开此文件并将其放入其中。
请记住更改设置以反映您的数据库。 < br/>

#!/usr/bin/python
import pymysql
pymysql.install_as_MySQLdb()


import MySQLdb
db = MySQLdb.connect(user="yourusernamehere",passwd="yourpasswordhere",host="yourhosthere",db="yourdatabasehere")
cursor = db.cursor()
cursor.execute("SELECT * from yourmysqltablehere")
data=cursor.fetchall()
for row in data :
print (row)
db.close()

现在在你的 CMD 型

c:\Desktop>testconn.py

就是这样... 你现在完全从一个巨蟒脚本连接到 mysql..。
好好享受。

进口

import pymysql

开放式数据库连接

db = pymysql.connect("localhost","root","","ornament")

使用 cursor ()方法准备游标对象

cursor = db.cursor()


sql = "SELECT * FROM item"


cursor.execute(sql)

获取列表列表中的所有行。

results = cursor.fetchall()
for row in results:
item_title = row[1]
comment = row[2]
print ("Title of items are the following  = %s,Comments are the following = %s" % \
(item_title, comment))

遵循以下步骤:

  1. 导入 pymysql

  2. 安装

    Python-m pip 安装 PyMySQL

    Python-m pip 安装 PyMySQL [ rsa ]

    Python-m pip 安装 PyMySQL [ ed25519]

最后再次尝试安装 Pip 安装 mysql 连接器

这些步骤解决了我的错误