怎么用Python快速批量向MySQL中插入数据

2020-12-21 13:45发布

database db001 中有张表test1:
表结构为:
create table test (id int primary key,c1 char(1),c2 char(10),c2 char(10),c3 char(10),c4 char(10),c5 char(10));

目前找到一种方法,但是插入速度很慢:

import pymysql
conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="db001" )
cursor=conn.cursor()
for i in range(1,18001):
param=str(i)
sql="insert into test_char1 values(%s,'b','b','b','b','b')"
cursor.execute(sql,param)
conn.commit()
conn.close()
cursor.close()

请问有什么快速向mysql插入数据的方法吗?谢谢谢谢!!

标签:
1条回答
smile是对你的礼貌
2楼-- · 2020-12-21 14:04
#可以在 sql上做文章一条sql全部插入
import pymysql

#创建数据库连接
conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="db001" )

#获取一个游标对象
cursor=conn.cursor()

#设置参数i,for语句循环
value = ''
for i in range(1,18001):
    value+=f"({i},'b','b','b','b','b'),"
value = value[:-1]
sql = f'INSERT test_char1 table ( "clo1", "col2", "col3", "col4", "col5" ) VALUES {value}'
print(sql)
count = cursor.execute(sql)
conn.commit()

#关闭连接
conn.close()
cursor.close()
查看更多
登录 后发表回答