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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。