您的位置:首页 > 编程语言 > Python开发

Python3调用MySQL数据库中的数据

2018-03-29 14:28 351 查看
在学习《Designing Machine Learning Systems with Python》(中文名《机器学习系统设计——Python语言实现》)一书中,在第三章第二节第四小节(P67)读取Mysql数据库中数据的代码中。使用的python包是mysql包,但是这个包只支持python2.7以下版本。原话是

MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported. Python-3.0 will be supported in a future release. PyPy is supported.

但是就我找到的版本中这已经是最新的mysql版本了。所以只好换一个python包了。我选择的是pymysql包。

安装过程就是
pip install pymysql
这没什么好说的。安装完成后,仿照在网上找到的例子(正确做法是仿照官网上的Example来修改,但是我一看官网给出的例子有一丢丢长,所以就在网上随便找到了另一个例子

修改后,原来的代码就换成了

import pymysql   # not support in python3
# from pymysql.connector import errorcode

cnx = pymysql.connect(user='root', password='password', database='world')
cursor = cnx.cursor()
query = ('select * from city where population > 1000000 order by population')
cursor.execute(query)
worldList = []
for (city) in cursor:
worldList.append([city[1], city[4]])
cursor.close()
cnx.close()


在最后在加上一个输出语句

print(worldList)


运行无误,输出结果(结果很多,我用省略号代替了)

[['Zapopan', 1002239], ['Napoli', 1002619], ['Perm', 1009700], ['Odesa', 1011000], ['Rostov-na-Donu', 1012700], ['Birmingham', 1013000], ..., ['Mumbai (Bombay)', 10500000]]


然后去Mysql数据库中查看下,数据正确。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 python mysql