1、安装模块
pip3 install pymysql
2、使用操作
import pymysql #创建连接 conn = pymysql.connect(host='xxx.xxx.xxx.xx',port = 3306,user = 'test',passwd = '******',db = 'bi') #创建游标 cursor = conn.cursor() #执行sql,并返回影响行数 effect_row = cursor.execute("select * from recipe_recommend r WHERE r.item_id=2000608") print(cursor.fetchone()) #返回一条 print(cursor.fetchall()) #返回所有,前面已经获取一条,这里不再显示 print(cursor.fetchmany(2)) #获取前n行数据 #执行sql,并返回影响行数 effect_row1 = cursor.execute("UPDATE recipe_recommend r set r.type=1 WHERE r.algorithm_id=18 and r.item_id=%s",(2000608,)) #执行sql,并返回影响行数 data = [(3,18,2000608,'[]',5,'2019-12-10 17:31:37','2019-12-10 17:31:37')] #可以写多条数据 effect_row2 = cursor.executemany("insert into recipe_recommend (type,algorithm_id,item_id,recommend_content,is_del,create_date,modify_date) " "values(%s,%s,%s,%s,%s,%s,%s)",data) #提交,不然无法保存新建或者修改的数据 conn.commit() #关闭游标 cursor.close() #关闭连接 conn.close()
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
cursor.scroll(1,mode='relative') 相对当前位置移动
cursor.scroll(2,mode='absolute') 相对绝对位置移动
fetch数据类型
关于默认获取的数据是元组类型,如果想要或者字典类型的数据,即:
import pymysql #创建连接 conn = pymysql.connect(host='xx.xx.xx.xx',port = 3306,user = 'test',passwd = '******',db = 'bi') #游标设置为字典类型 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) r = cursor.execute("select * from recipe_recommend r WHERE r.item_id=2000608") result = cursor.fetchone() print(result) conn.commit() cursor.close() conn.close()