数据库进行批量插入
数据库如何进行批量插入
什么是批量插入
批量插入是一种优化数据逐条插入的方式
1、批量插入的常见方式
全字段批量插入:insert into 表名 values(值列表1),(值列表2)...(值列表N)
部分字段批量插入:insert into 表名 (字段列表) values(值列表1),(值列表2)...(值列表N)
2、蠕虫复制
蠕虫复制:从已有表中复制数据直接插入到另外一张表(同一张表),它的目的是快速增加表中的数据
基本语法:insert into 表名 [(字段列表)] select 字段列表 from 表名
3、主键冲突
主键冲突:在数据进行插入时包含主键指定,而主键在数据表中已经存在,主键冲突的业务通常是发生在业务主键上
主键冲突的解决方案
1)忽略主键冲突:保留原始记录
insert ignore into 表名 [(字段列表)] values(值列表)
2)冲突更新:冲突后部分字段变成更新
insert into 表名 [(字段列表)] values(值列表) on duplicate key update 字段=新值 [,字段=新值..]
3)冲突替换:先删除原有记录,后新增记录
replace into 表名 [(字段列表)] values(值列表)