python学习笔记6--操作Mysql
一、mysql操作
import pymysql #连上mysql ip 端口号 密码 账号 数据库 #建立游标 #执行sql #获取结果 #关闭连接、关闭游标 conn=pymysql.connect(host='211.149.218.16',user='jxz',passwd='123456', port=3306,db='jxz',charset='utf8') #port 不要加引号 cur=conn.cursor()#建立游标,游标你就认为是仓库管理员 cur=conn.cursor(cursor=pymysql.cursors.DictCursor)#需要指定游标的类型,字典类型,返回的结果就是字典类型 #不指定返回的是tuple cur.execute('select *from bt_stu limit 5;') res=cur.fetchall() #获取返回结果 是一个二维list res=cur.fetchone() #只获取一条结果 是一个一维list print(res) print('fetchall',cur.fetchall()) #游标已到第二行,返回后,游标到最后 cur.scroll(0,mode='absolute') #absolute 到最前面 cur.scroll(-1,mode='relative')#移动游标,相对于当前位置 cur.close()#关闭游标 conn.close()#关闭连接 #插入 sql="INSERT INTO 'bt_stu' ( 'real_name', 'sex', 'phone', 'class', 'type') VALUES ('suki', '1', '18612341231', '靠山屯','1');" cur.execute(sql) conn.commit() #修改数据需要提交
二、mysql封装
import pymysql def op_mysql(host,user,passwd,db,sql,port=3306,charset='utf8'): conn=pymysql.connect(host=host,user=user, passwd=passwd, port=port,db=db, charset=charset) cur=conn.cursor(cursor=pymysql.cursors.DictCursor) #'select update delete insert' cur.execute(sql) #执行sql sql_start=sql[:6].upper() #取sql 首个单词(select),转化成大写 if sql_start=='SELECT':#要是select返回查询结果 res=cur.fetchall() else: conn.commit() res='Ok' cur.close() conn.close() return res