mysql批量导入记录

我好蠢啊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='   ')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值