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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文地址:https://blog.csdn.net/jy1690229913/article/details/79407224