四种模式的区别
1、insert into
最常用的插入方式,该命令在执行数据插入操作时,会在当前表中对主键或unique索引进行检测,若没有存在,则执行插入动作,若存在主键相同或unique索引相同的数据,执行会报错。
2、insert ignore into
主要作用:用来排除数据重复的。
会忽略数据库中已经存在的记录,如果表中存在主键或unique索引相同的数据不在插入该条数据,反之则插入(存在则忽略,反之插入)这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。
3、replace into
如果表中存在与主键或unique索引相同的数据,则替换掉该主键的记录,反之则插入(存在就替换,反之插入)替换整条数据
4、insert into *** on duplicate key update
如果表中存在该记录,则按新的数据进行修改,不存在则插入。
(与replace into的区别在于:replace是完全替换成新的数据记录,此处是修改不同的地方,新纪录中没有的部分依然采用老记录中的数据。)