如何在 Windows 上使用 Python 3 连接 MySQL?

2025-02-28 08:22:00
admin
原创
73
摘要:问题描述:我在 Windows 上使用 ActiveState Python 3,并想连接到我的 MySQL 数据库。我听说这mysqldb是要使用的模块。我找不到mysqldbPython 3。是否有可用的存储库,其中包含二进制文件mysqldb?如何在 Windows 上的 Python 3 中连接到 M...

问题描述:

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

是否有可用的存储库,其中包含二进制文件mysqldb?如何在 Windows 上的 Python 3 中连接到 MySQL?


解决方案 1:

目前,使用 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-mysqldbpython3-mysqldb包。

基准测试在这里:https://github.com/methane/mysql-driver-benchmarks

解决方案 2:

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

解决方案 3:

如果你想先使用 MySQLdb,你必须在电脑上安装 pymysql,方法是在 Windows 的 cmd 中输入

pip install pymysql

然后在 python shell 中输入

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

这将建立连接。

解决方案 4:

我也尝试使用 pymysql(在我的 Win7 x64 机器上,Python 3.3),但运气不佳。我下载了 .tar.gz,解压,运行“setup.py install”,一切似乎都很好。直到我尝试连接到数据库,却得到了“KeyError [56]”。这个错误我在任何地方都找不到相关记录。

因此我放弃了 pymysql,而选择了Oracle MySQL 连接器。

它以安装包的形式提供,开箱即可使用。而且它似乎也有相当完善的文档。

解决方案 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:

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

非官方 Windows 二进制文件

解决方案 7:

PyMySQL 也提供了类似 MySQLDb 的接口。你可以在初始化时尝试:

import pymysql
pymysql.install_as_MySQLdb()

另外,github 上还有针对 python3 的 mysql-python 端口。

https://github.com/davispuh/MySQL-for-Python-3

解决方案 8:

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

我已将其与 Python 3.3 一起使用,发现它效果很好。 也适用于 SQLAlchemy。

另请参阅此问题:搭乘 Python 3 列车还为时过早吗?

解决方案 9:

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

  • 在终端类型中:

1)mkdir -p ~/bin ~/tmp ~/lib/python3.3 ~/src 2)导出 TMPDIR=~/tmp

3)wget -O ~/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解释器,输入:

  1. 导入 pymysql。如果没有错误,则表示安装成功。为了验证,请编写一个脚本来连接 mysql,格式如下:

  2. # 一个简单的 MySQL 连接脚本 import pymysql db = pymysql.connect(host="localhost", user="root", passwd=" ", db="biblioteca") #当然,这是我的数据库的信息 #关闭连接 db.close()

给它命名(例如“con.py”)并将其保存在桌面上。在终端中输入“cd desk”,然后输入 $python con.py 如果没有错误,则表示您已连接到 MySQL 服务器。祝您好运!

解决方案 10:

CyMySQL
https://github.com/nakagami/CyMySQL

我已经在 Windows 7 上安装了 pip,使用 python 3.3 只需 pip install cymysql

(你不需要 cython)快速而轻松

解决方案 11:

这并不能完全回答我最初的问题,但我认为让大家知道我做了什么以及为什么做是很重要的。

我选择继续使用 Python 2.7 而不是 Python 3,因为 2.7 示例和模块在网络上很流行。

我现在使用 mysqldb 和 mysql.connector 来连接 Python 2.7 中的 MySQL。两者都很棒,运行良好。但我认为从长远来看 mysql.connector 最终会更好。

解决方案 12:

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

到目前为止,它运行良好,与 MySQLdb 非常相似

解决方案 13:

这是一个关于如何让 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:xamppmysqlin

c:xamppmysqlin>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:xamppmysqlin>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:xamppmysqlin>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...

尽情享受吧...

解决方案 14:

请按照以下步骤操作:

  1. 导入 pymysql

  2. 安装

python -m pip 安装 PyMySQL

python -m pip 安装 PyMySQL[rsa]

python -m pip 安装 PyMySQL[ed25519]

最后再次尝试安装pip install mysql-connector

这些步骤解决了我的错误

解决方案 15:

导入 pymysql

打开数据库连接

db = pymysql.connect(“localhost”,“root”,“”,“装饰”)

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

光标 = db.cursor()

sql =“从项目中选择*”

游标.执行(sql)

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

results = cursor.fetchall() for row in results: item_title = row[1] comment = row[2] print ("项目标题如下 = %s,评论如下 = %s" %

(item_title, comment))

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2941  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1803  
  PLM(产品生命周期管理)系统在企业的产品研发、生产与管理过程中扮演着至关重要的角色。然而,在实际运行中,资源冲突是经常会遇到的难题。资源冲突可能导致项目进度延迟、成本增加以及产品质量下降等一系列问题,严重影响企业的效益与竞争力。因此,如何有效应对PLM系统中的资源冲突,成为众多企业关注的焦点。接下来,我们将详细探讨5...
plm项目管理系统   31  
  敏捷项目管理与产品生命周期管理(PLM)的融合,正成为企业在复杂多变的市场环境中提升研发效率、增强竞争力的关键举措。随着技术的飞速发展和市场需求的快速更迭,传统的研发流程面临着诸多挑战,而将敏捷项目管理理念融入PLM,有望在2025年实现研发流程的深度优化,为企业创造更大的价值。理解敏捷项目管理与PLM的核心概念敏捷项...
plm项目   31  
  模块化设计在现代产品开发中扮演着至关重要的角色,它能够提升产品开发效率、降低成本、增强产品的可维护性与可扩展性。而产品生命周期管理(PLM)系统作为整合产品全生命周期信息的关键平台,对模块化设计有着强大的支持能力。随着技术的不断发展,到 2025 年,PLM 系统在支持模块化设计方面将有一系列令人瞩目的技术实践。数字化...
plm软件   28  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用