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

Python中操作mysql的pymysql模块详解

2016-11-23 22:27 671 查看
基本操作:

(1)导入pymysql

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

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息