8

python操作数据库MySql,windows和ubuntu下MySQLdb库的安装

 3 years ago
source link: https://blog.popkx.com/python-use-mysql-windows-and-buntu-install-of-mysqldb/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

python操作数据库MySql,windows和ubuntu下MySQLdb库的安装

发表于 2018-07-05 22:07:36   |   已被 访问: 369 次   |   分类于:   Python   |   暂无评论

python 的MySQLdb 库非常方便操作 mysql。不过安装确实非常多问题,虽然在 ubuntu 系统中安装该库非常方便,但是 windows 下遇到的坑非常多,这里主要记录下 windows 下安装 MySQLdb 库的过程。

ubuntu 下安装 python 的 MYSQLdb 库


ubuntu 安装 python 的 MYSQLdb 库真的非常方便,只需执行

 pip install Mysql-python

即可。若是权限不足,加上sudo即可。

windows 下安装 python 的 MYSQLdb 库


虽然 ubuntu 下安装非常方便,但是 windows 下真的非常多坑。一开始也是尝试了直接使用 pip install 安装,结果却提示错误:

error: Microsoft Visual C++ 9.0 is required. Get it from
http://aka.ms/vcpython

按照提示,下载安装 Microsoft Visual C++ 9.0,结果继续报错。于是放弃这种安装方式,直接使用 whl 安装包安装。流程如下:

1. 输入以下命令,打印出我的电脑支持的 .whl 文件版本

import pip;
print(pip.pep425tags.get_supported())

执行,输出:

[('cp27', 'cp27m', 'win32'), ('cp27', 'none', 'win32'), ('py2', 'none', 
'win32'), ('cp27', 'none', 'any'), ('cp2', 'none', 'any'), ('py27', 'none', 
'any'), ('py2', 'none', 'any'), ('py26', 'none', 'any'), ('py25', 'none', 
'any'), ('py24', 'none', 'any'), ('py23', 'none', 'any'), ('py22', 'none', 
'any'), ('py21', 'none', 'any'), ('py20', 'none', 'any')]

2. 从上述打印结果中挑出一个版本 .whl 文件并下载

发现 (‘cp27’, ‘none’, ‘win32’),这个版本,然后去 这里 下载。

MySQL_python-1.2.5-cp27-none-win32.whl

注意,文件名不能修改,这是 whl 文件的特性。

3. 进入下载的 .whl 文件所在目录,输入如下命令安装

pip install MySQL_python-1.2.5-cp27-none-win32.whl

发现成功了。

python 使用 MySQLdb 库操作 mysql 数据库实例


代码如下:

#encoding=utf8
import MySQLdb

# 连接数据库
db = MySQLdb.connect(host, user, password, database, charset="utf8")
# 使用cursor()方法获取操作游标
cursor = db.cursor()    
# 使用execute方法执行SQL语句 
cursor.execute(sql)    
# 提交到数据库执行         
db.commit()     
# 使用 fetchone() fetchall()方法获取数据         
data = cursor.fetchall()
# 关闭数据库
db.close()

其中 sql 是一条数据库语句,如 sql = “select * from testTable;”

阅读更多:   Python


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK