插入数据的方法
mysql中常用的三种插入数据的语句:
- insert into:正常的插入数据,插入数据的时候会检查主键或者唯一索引,如果出现重复就会报错;
- replace into:表示插入并替换数据,若表中有primary key或者unique索引,在插入数据的时候,若遇到重复的数据,则用新数据替换,如果没有数据效果则和insert into一样;
- insert ignore into:插入并忽略数据,如果表中已经存在相同的记录,则忽略当前新数据(有则忽略,无则添加)。
语法介绍
insert into
每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的类型必须与对应的字段相匹配。但是,各字段也无须与其在表中定义的顺序一致,它们只要与 VALUES中值的顺序一致即可。
# 表中有些字段有默认值,则可以直接根据字段插入数据
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);
# 按照表中所有字段进行插入数据,一定要与字段在表中定义的顺序一致
INSERT INTO 表名 VALUES (值 1,值 2,...);
insert ignore into
这种方式的语法跟insert into 是一样的,只不过在遇到重复的数据时做出的处理不一致,有重复的就忽略该条数据的插入。
# 表中有些字段有默认值,则可以直接根据字段插入数据
INSERT IGNORE INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);
# 按照表中所有字段进行插入数据,一定要与字段在表中定义的顺序一致
INSERT IGNORE INTO 表名 VALUES (值 1,值 2,...);
MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,对于插入数据时候遇到重复的primary key 时候,可以进行数据的更新,就避免了insert ignore into遇到重复的数据直接忽略的不足。但是一定要保证使用的时候是想要更新重复数据哦,不然就尴尬啦~~
INSERT … ON DUPLICATE KEY UPDATE
replace into
注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。
REPLACE INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);
REPLACE INTO 表名 VALUES (值 1,值 2,...);
原文链接:https://blog.csdn.net/weixin_42272869/article/details/116480732