问题:如何在Windows上的Python 3中连接到MySQL?
我在Windows上使用ActiveState Python 3,并想连接到我的MySQL数据库。我听说这mysqldb
是要使用的模块。我找不到mysqldb
Python 3。
有二进制文件存在的存储库mysqldb
吗?如何在Windows的Python 3中连接到MySQL?
回答 0
当前有一些将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的fork与可选的C加速
https://pypi.python.org/pypi/mysqlclient
- Django推荐的库。
- 原始MySQLdb的友好分支,希望有一天能合并
- 最快的实现,因为它基于C。
- 与MySQLdb最兼容,因为它是一个fork
- Debian和Ubuntu使用它来提供
python-mysqldb
和python3-mysqldb
软件包。
回答 1
您可能应该使用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()
回答 2
我也尝试使用pymysql(在Win7 x64计算机上,Python 3.3),但运气不佳。我下载了.tar.gz,解压缩并运行“ setup.py install”,一切似乎都很好。直到我尝试连接到数据库并得到“ KeyError [56]”。我找不到任何地方记录的错误。
因此,我放弃了pymysql,而选择了Oracle MySQL连接器。
它作为安装程序包提供,开箱即用。而且似乎也有据可查。
回答 3
如果要先使用MySQLdb,则必须在Windows上键入cmd,在PC上安装pymysql
pip install pymysql
然后在python shell中键入
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb
db = MySQLdb.connect("localhost" , "root" , "password")
这将建立连接。
回答 4
未经测试,但在以下位置有一些可用的二进制文件:
回答 5
摘要
Mysqlclient是最佳选择(IMHO),因为它可以与Python 3+完美 协作,遵循预期的约定(与mysql连接器不同),使用对象名称mysqldb可以方便地移植现有软件,并且由Django用于python 3构建
mysqldb的二进制文件存在的地方有可用的存储库吗?
是。 mysqlclient允许您使用mysqldb函数。虽然,请记住,这不是 mysqldb 的直接端口,而是mysqlclient的构建
如何在Windows上的Python 3中连接到MySQL?
pip安装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尚未移植
回答 6
PyMySQL也提供类似MySQLDb的界面。您可以尝试进行初始化:
import pymysql
pymysql.install_as_MySQLdb()
github上还有一个用于python3的mysql-python端口。
回答 7
Oracle / MySQL提供了一个官方的纯Python DBAPI驱动程序:http ://dev.mysql.com/downloads/connector/python/
我在Python 3.3中使用了它,并发现它运行良好。还可以与SQLAlchemy一起使用。
另请参阅以下问题:登上Python 3火车是否还为时过早?
回答 8
在我的Mac OS X上,我尝试这样做:
在终端类型中:
1)mkdir -p〜/ bin〜/ tmp〜/ lib / python3.3〜/ src 2)导出TMPDIR =〜/ tmp
3)wget / bin / 2to3
4)http://hg.python.org / cpython / raw-file / 60c831305e73 / Tools / scripts / 2to3 5)chmod 700〜/ bin / 2to3 6)cd〜/ src 7)git clone https://github.com/petehunt/PyMySQL.git 8)cd PyMySQL /
9)python3.3 setup.py install –install-lib = $ HOME / lib / python3.3 –install-scripts = $ HOME / bin
之后,输入python3解释器并输入:
导入pymysql。如果没有错误,则表示安装正常。为了验证,编写一个脚本以这种形式连接到mysql:
#一个用于MySQL连接的简单脚本import pymysql db = pymysql.connect(host =“ localhost”,user =“ root”,passwd =“* “,db =” biblioteca“)#当然,这是我的数据库的信息#关闭连接db.close()*
给它起一个名字(例如“ con.py”)并将其保存在桌面上。在终端中,键入“ cd desktop”,然后输入$ pythoncon.py。如果没有错误,则说明您已连接MySQL服务器。祝好运!
回答 9
CyMySQL https://github.com/nakagami/CyMySQL
我已经在Windows 7上安装了pip,使用python 3.3只是pip install cymysql
(您不需要赛顿)快速而无痛
回答 10
这并不能完全回答我最初的问题,但我认为让所有人知道我的工作和原因很重要。
由于网络上普遍存在2.7示例和模块,因此我选择继续使用python 2.7而不是python 3。
现在,我同时使用mysqldb和mysql.connector连接到Python 2.7中的MySQL。两者都很棒并且运作良好。我认为mysql.connector从长远来看最终会更好。
回答 11
我在树莓派上通过python3使用cymysql,我只需通过以下方式安装:sudo pip3 install cython sudo pip3 install cymysql在没有cython的情况下,但应使cymysql更快
到目前为止,它的工作原理很吸引人,与MySQLdb非常相似
回答 12
这是一个有关如何使Python 3.7与Mysql一起使用的快速教程,
感谢所有得到我问题解答的人
-希望有一天能对您有所帮助。
————————————————– –
我的系统:
Windows版本:Pro 64位
要求..下载并安装这些第一…
1.下载XAMPP ..
https://www.apachefriends.org/download.html
2.下载的Python
https://www.python.org/downloads/windows/
– ————
//方法
————–
安装完成后,请先安装xampp-安装Python 3.7。
完成两者的安装后-重新启动Windows系统。
现在启动xampp并从控制面板启动mysql服务器。
通过打开CMD并在终端类型中确认版本
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中输入以下内容…
c:\xampp\mysql\bin>pip install pymysql
pymysql安装完成后。
在桌面上或其他任何地方创建一个名为“ testconn.py”的新文件以进行快速访问。
使用sublime或其他文本编辑器打开此文件,并将其放入其中。
切记更改设置以反映您的数据库。
#!/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
就是这样…您现在已从python脚本完全连接到mysql …
享受…
回答 13
导入pymysql
打开数据库连接
db = pymysql.connect(“ localhost”,“ root”,“”,“装饰品”)
使用cursor()方法准备一个游标对象
cursor = db.cursor()
sql =“ SELECT * FROM项目”
cursor.execute(sql)
获取列表列表中的所有行。
结果=结果的cursor.fetchall():item_title = row [1]注释= row [2]打印(“项目标题为以下=%s,注释为以下=%s”%\(item_title,评论))