mysql批量导入记录
程序员文章站
2022-06-11 13:27:09
...
我好蠢啊155555551
之前要导入大量数据,我一条一条读文件然后insert到数据库里。后来想到可以批量导入,试了一下,感觉自己之前蠢爆了
一句一句执行sql好慢的,批量导入要快好多
一般的sql插入语句是这样的:
INSERT INTO USER (username,PASSWORD) VALUES ('111','1')
插入多条的时候就可以是这样的:
INSERT INTO USER (username,PASSWORD) VALUES ('444','1'),('333','2');
python写脚本批量导入,就可以循环写sql字符串,然后直接运行字符串,不需要一条一条的导入。
#data_list:[["111","11"],["222","22"],["333","33"]]
#示例,每1000条循环一次
for i in range(int(len(data_list)/1000)+1):
#sql语句的前半部分
sql_insert='insert into 你的表名 (表的列名1,列名2) value '
for data in data_list[i*1000:(i+1)*1000]:
data1=data[0]
data2=data[1]
#加入sql语句的后半部分
sql_insert+='("{}","{}"),'.format(data1,data2)
with db.cursor() as cursor:
#把最后一个逗号改为分号,执行
cursor.execute(sql_insert[:-1]+";")
cursor.fetchall()
db.commit()
#阶段打印一下,看看跑到第几条了
print(i,end=' ')
上一篇: asp.net或javascript判断是否手机访问
下一篇: nginx的域名配置