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插入数据的方法吗?谢谢谢谢!!
#可以在 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()
你好,谢谢解答!!我刚刚用给出的代码跑,插入语句在终端上打印出来了 还有个报错,能帮忙看一下是怎么回事吗?python版本是3.7.
@日常云吸猫: 我sql随便复制的没注意你的字段.修正一下
#可以在 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 into test VALUES {value}'
print(sql)
count = cursor.execute(sql)
conn.commit()
#关闭连接
conn.close()
cursor.close()
@小小咸鱼YwY:执行没有问题,谢谢大佬!!