基本操作:
(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 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);