python3.2.5 + PyMySQL3 0.5 基本使用方法
在网上看到不少文章都选用mysqldb作为python连接mysql数据库的工具,但是mysqldb目前支撑的python版本较低,安装失败。所以才尝试pymysql,这个比较简单易用
软件下载地址:
python3.2.5:https://www.python.org/ftp/python/3.2.5/python-3.2.5.msi
pymysql3.0.5: https://pypi.python.org/packages/source/P/PyMySQL3/PyMySQL3-0.5.tar.gz
mysql:http://www.phpstudy.net/phpstudy/phpStudyLite.zip (为了方便安装,我这里选择phpstudy)
1、python安装目录设定为d:\python32
2、pymysql安装方法为:解压下载的文件,在cmd中运行: python setup.py install。
检验安装安装是否成功的方法:import pymysql 。 如果不报错 说明安装成功。
3、mysql安装目录为D:\phpStudy\MySQL。为避免更多配置问题,可在启动phpstudy后,将其设为系统服务
4、基本操作:
(1)导入pymysql: import pymysql
(2)连接数据库: conn=pymysql.connect(host=‘localhost‘,user=‘root‘,passwd=‘root‘,db=‘ere‘,charset=‘utf8‘) 务必注意各等号前面的内容!charset参数可避免中文乱码
(3)获取操作游标:cur=conn.cursor()
(4)执行sql语句,插入记录:sta=cur.execute("insert 语句") 执行成功后sta值为1。更新、删除语句与此类似。
(5)执行sql语句,查询记录:cur.execute("select语句") 执行成功后cur变量中保存了查询结果记录集,然后再用循环打印结果:
for each in cur:
print(each[1].decode(‘utf-8‘)) # each[1] 表示当前游标所在行的的第2列值,如果是中文则需要处理编码
(6)关闭数据库连接: cur.close(); conn.close();
一个完整的案例:
import pymysql from builtins import int def connDB(): #连接数据库函数 conn=pymysql.connect(host='localhost',user='root',passwd='123',db='ere',charset='utf8') cur=conn.cursor(); return (conn,cur); def exeUpdate(cur,sql):#更新语句,可执行update,insert语句 sta=cur.execute(sql); return(sta); def exeDelete(cur,IDs): #删除语句,可批量删除 for eachID in IDs.split(' '): sta=cur.execute('delete from relationTriple where tID =%d'% int(eachID)); return (sta); def exeQuery(cur,sql):#查询语句 cur.execute(sql); return (cur); def connClose(conn,cur):#关闭所有连接 cur.close(); conn.close(); #调用连接数据库的函数 conn,cur=connDB(); #调用更新记录的函数 sta=exeUpdate(cur, "insert into relationTriple values(null,'A','B','昵称','无')"); if(sta==1): print('插入成功'); else: print('插入失败'); #查询现有数据,并打印 exeQuery(cur, "select * from relationTriple") ; for each in cur: print(each[0],each[1].decode('utf-8')); # 批量删除记录,用户输入要删除的记录id号 tempID=input('请输入要删除的编号 编号之间用空格分开:'); sta=exeDelete(cur, tempID); if(sta==1): print('删除成功'); else: print('删除失败'); connClose(conn, cur);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。