python-mysql

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()
原文地址:https://www.cnblogs.com/peiya/p/12030610.html