资源描述:
《python操作mysql数据库实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Python操作MySQL数据库实例在Windows平台上安装mysql模块用于Python开发
用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示。下边是打包了32与64版本。MySQL-python-1.2.3.win32-py2.7.exeMySQL-python-1.2.3.win-amd64-py2.7.exe
免费下载地址:http://yunpan.cn/cVnTc9iRsQR4m访问密码06fc
安装过程很简单不多说:
实例1、取得MYSQL的版本
#-*-coding:UTF-8-*-
#安装MYSQLDBforpython
importMySQL
2、dbasmdb
con=None
#连接mysql的方法:connect(‘ip’,’user’,’password’,’dbname’)
con=mdb.connect(‘localhost’,‘root’,’root’,‘test’);
#所有的查询,都在连接con的一个模块cursor上面运行的
cur=con.cursor()
#执行一个查询
cur.execute(SELECTVERSION())
#取得上个查询的结果,是单个结果
data=cur.fetchone()
printDatabaseversion:%s%data
finally:
ifcon:
#无论如何,连接记得关
3、闭
con.close()
实例2、创建一个表并且插入数据
importMySQLdbasmdb
importsys
#将con设定为全局连接
con=mdb.connect(‘localhost’,‘root’,‘root’,‘test’);
withcon:
#获取连接的cursor,只有获取了cursor,我们才能进行各种操作
cur=con.cursor()
#创建一个数据表writers(id,name)
cur.execute(CREATETABLEIFNOTEXISTS
Writers(IdINTPRIMARYKEYAUTO_INCREMENT,NameVARCHAR(25
4、)))
#以下插入了5条数据
cur.execute(INSERTINTOWriters(Name)VALUES(‘JackLondon’))
cur.execute(INSERTINTOWriters(Name)VALUES(‘HonoredeBalzac’))
cur.execute(INSERTINTOWriters(Name)VALUES(‘LionFeuchtwanger’))
cur.execute(INSERTINTOWriters(Name)VALUES(‘EmileZola’))
cur.execute(INSERTINTOWriters(Name)VALUES(‘Trum
5、anCapote’))
实例3、python使用slect获取mysql的数据并遍历
importMySQLdbasmdb
importsys
#连接mysql,获取连接的对象
con=mdb.connect(‘localhost’,‘root’,‘root’,‘test’);
withcon:
#仍然是,第一步要获取连接的cursor对象,用于执行查询
cur=con.cursor()
#类似于其他语言的query函数,execute是python中的执行查询函数
cur.execute(SELECT*FROMWriters)
#使用fetchall函数,将结果集(多维元组)存入rows
6、里面
rows=cur.fetchall()
#依次遍历结果集,发现每个元素,就是表中的一条记录,用一个元组来显示
forrowinrows:
printrow
运行结果:
(1L,‘JackLondon’)
(2L,‘HonoredeBalzac’)
(3L,‘LionFeuchtwanger’)
(4L,‘EmileZola’)
(5L,‘TrumanCapote’)
上面的代码,用来将所有的结果取出,不过打印的时候是每行一个元祖打印,现在我们使用方法,取出其中的单个数据:
importMySQLdbasmdb
importsys
#获取mysql的链接对象
con=mdb.conn
7、ect(‘localhost’,‘root’,‘root’,‘test’);
withcon:
#获取执行查询的对象
cur=con.cursor()
#执行那个查询,这里用的是select语句
cur.execute(SELECT*FROMWriters)
#使用cur.rowcount获取结果集的条数
numrows=int(cur.rowcount)
#循环numrows次,每次取出一行数据
forii