Pymysql批量插入方法executemany的使用


运行环境 Runtime environment

1
2
3
4
操作系统: Windos10  
IDE: pycharm 2021.3.1 x64
语言: python v3.9.1
模块: Pymysql

背景

python使用mysql,进行大数据导入导出操作时,免不了要使用批量入库的操作。

在使用pymysql模块操作批量入库时,碰到部分使用上的问题,以此做一个简单使用笔记。

注意事项

  1. 在写sql语句时,不管字段为什么类型,占位符统一使用%s,且不能加上引号

    sql=”insert into tablename (id,name) values (%s,%s)”

  1. 添加的数据的格式必须为 list[tuple(),tuple(),tuple()] 或者 tuple(tuple(),tuple(),tuple())

    values=[(1,”zhangsan”),(2,”lisi”)]

    or

    values=((1,”zhangsan”),(2,”lisi”))

  2. 最后,再通过executemany插入

    cursor.executemany(sql,values)

总结

使用过程中,还发现了一些问题。

Pymysql executemany 的方法,实际上是 伪批量插,性能上比真正批量插入还是有点差距,

如果要使用真正的批量插入还是还要直接在sql语句上直接实现批量插入,效果更好。