python中pymysql的executemany使用方式
作者:轻轻的仰望
这篇文章主要介绍了python中pymysql的executemany使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
pymysql的executemany使用
在使用pymysql的executemany方法时,需要注意的几个问题
1、在写sql语句时,不管字段为什么类型,占位符统一使用%s,且不能加上引号。例如
sql="insert into tablename (id,name) values (%s,%s)"
2、添加的数据的格式必须为list[tuple(),tuple(),tuple()]或者tuple(tuple(),tuple(),tuple())例如
values=[(1,"zhangsan"),(2,"lisi")] #或者 values=((1,"zhangsan"),(2,"lisi"))
最后,通过executemany插入
cursor.executemany(sql,values)
pymysql的executemany小记
读取本地csv文件 批量插入mysql数据 以此增加效率
executemany方法
- 先定义一个list来存csv里面的for值
- 然后用executemany(sql,list)来批量插数据
- 注意:sql要用replace('\'','')去除单引号。要不然插入会报错。
示例
list = [] for x in xinghao_items: values = (str(x).replace('nan','')) list.append(values) num = num + 1 if num == 500000: sql = "insert into t_mlcc(part_number)values('%s')" cursor.executemany(sql.replace('\'',''),list) db.commit() # 执行sql语句 print("============" + time.strftime('%Y-%m-%d %H:%M:%S') + "=====insert ok=====") num = 0 # 计数归零 list.clear() # 清空list
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。