Answers:
当前有一些将python 3与mysql结合使用的选项:
https://pypi.python.org/pypi/mysql-connector-python
https://pypi.python.org/pypi/pymysql
MySQLdb
调用后几乎与完全兼容pymysql.install_as_MySQLdb()
https://pypi.python.org/pypi/cymysql
https://pypi.python.org/pypi/mysqlclient
python-mysqldb
和python3-mysqldb
软件包。pip install mysqlclient
只是为我工作!感谢您提供的完整选项列表。
mysqlclient
刚为我的Python3.4 + Django + Passenger + Dreamhost安装工作。
testing
是python3-mysqldb
,但不在中stable
。因此它将在下一版本中。
sudo apt-get install python3-mysql.connector
您可能应该使用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()
constants
。
我也尝试使用pymysql(在Win7 x64计算机上,Python 3.3),但运气不佳。我下载了.tar.gz,解压缩并运行“ setup.py install”,一切似乎都很好。直到我尝试连接到数据库并得到“ KeyError [56]”。我找不到任何地方记录的错误。
因此,我放弃了pymysql,而选择了Oracle MySQL连接器。
它作为安装程序包提供,开箱即用。而且似乎也有据可查。
未经测试,但在以下位置有一些可用的二进制文件:
摘要
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尚未移植
PyMySQL也提供类似MySQLDb的界面。您可以尝试进行初始化:
import pymysql
pymysql.install_as_MySQLdb()
github上还有一个用于python3的mysql-python端口。
Oracle / MySQL提供了一个官方的纯Python DBAPI驱动程序:http ://dev.mysql.com/downloads/connector/python/
我在Python 3.3中使用了它,并发现它运行良好。还可以与SQLAlchemy一起使用。
另请参阅以下问题:登上Python 3火车是否还为时过早?
在我的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服务器。祝好运!
CyMySQL https://github.com/nakagami/CyMySQL
我已经在Windows 7上安装了pip,使用python 3.3只是pip install cymysql
(您不需要赛顿)快速而无痛
这并不能完全回答我最初的问题,但我认为让所有人知道我的工作和原因很重要。
由于网络上普遍存在2.7示例和模块,因此我选择继续使用python 2.7而不是python 3。
现在,我同时使用mysqldb和mysql.connector连接到Python 2.7中的MySQL。两者都很棒并且运作良好。我认为mysql.connector从长远来看最终会更好。
这是一个有关如何使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 ...
享受...