Mysql 之 插入数据(insert into 、 replace into
mysql中常用的三种插入数据的语句:
2、语法介绍 2.1 insert into
每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的类型必须与对应的字段
Mysql 插入数据 1、插入数据方法 mysql中常用的三种插入数据的语句: 2、语法介绍 2.1 insert into 每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的类型必须与对应的字段相匹配。但是,各字段也无须与其在表中定义的顺序一致,它们只要与 VALUES中值的顺序一致即可。 语法如下:
2.2 insert ignore into 这种方式的语法跟insert into 是一样的,只不过在遇到重复的数据时做出的处理不一致,有重复的就忽略该条数据的插入 语法如下:
题外: MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,对于插入数据时候遇到重复的primary key 时候,可以进行数据的更新,就避免了insert ignore into遇到重复的数据直接忽略的不足。但是一定要保证使用的时候是想要更新重复数据哦,不然就尴尬啦~~
2.3 replace into 3、使用示例 初始表准备: 创建一个study 表, id 是自增主键
首先插入一些为方便测试的数据:
此时查询:
开始测试: (一)测试insert into 例如,现在再插入id 为 1 的数据与id为7的数据
结果:
报错。此时表中的数据:id 为 7的数据是没有插入成功的 (二)测试insert ignore into 例如,做同样的事情,现在再插入id 为 1 的数据与id为7的数据
结果:
插入成功。此时表中的数据:id 为 7的数据是插入成功,而id为1的数据也并没有更新 (三)测试 INSERT … ON DUPLICATE KEY UPDATE 例如,做同样的事情,现在再插入id 为 1 的数据与id为8的数据
结果:
插入成功。此时表中的数据:id 为 1 的 因为存在所以数据被更新了,而id为8 之前并没有,所以其数据也并没有更新 (四)测试 replace into 经过上面的操作,目前的表数据由上图所示。 例如,做同样的事情,现在再插入id 为 1 的数据与id为9的数据。
结果:
插入成功。此时表中的数据:id 为 1 的 因为存在所以数据被更新为了11MySQL 插入数据,而id为9 之前并没有,所以其数据也并没有更新 注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。 题外话 小潘的个人微信公众号【小潘学程序】,有兴趣可给个关注~ 一起学习,一起成长 (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |