Mysql 语句 insert into 与 replace into 区别
mysql 区别 语句 INSERT INTO replace
2023-09-14 09:12:19 时间
【】insert into 与 replace into 区别
replace into 的运行与insert into 很相似。不同点:
若表中的一个旧记录与一个用于PRIMARY KEY 或 一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。
尤其注意:
除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE INTO 语句没有意义。
因为没有索引被用于确定是否新行复制了其它行。
实例如下:
(1)创建表
-- [1]drop DROP TABLE `students`; -- [2]create CREATE TABLE `students` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `sName` VARCHAR (10) NOT NULL, `sAge` INT (2) UNSIGNED ZEROFILL NOT NULL, `sAddr` VARCHAR (20) DEFAULT NULL, `sGrade` INT (2) DEFAULT NULL, `sStuId` INT (8) DEFAULT NULL, `sSex` INT (1) UNSIGNED DEFAULT NULL ) ENGINE = INNODB;
(2)插入insert into
SQL语句:
INSERT INTO students(id, sName, sAge, sAddr, sGrade, sStuId, sSex) VALUES (1, 'wangchao', 8, 'heyang', 1, 1801111, 0);
执行结果:
查询数据:
(3)插入replace into
SQL语句:
REPLACE INTO students(id, sName, sAge, sAddr, sGrade, sStuId, sSex) VALUES (1, 'suntao', 9, 'weinan', 3, 1803110, 1);
执行结果:
注意:共2行受影响,一行被删除,一行被添加。同时具有delete、insert操作。
查询数据:
(4)insert into on duplicate key update
SQL语句:
INSERT INTO students(id, sName, sAge, sAddr, sGrade, sStuId, sSex) VALUES (1, 'wangchao', 8, 'heyang', 1, 1801111, 0) ON DUPLICATE KEY UPDATE sName = 'wangchao', sAge = 8, sAddr = 'heyang', sGrade = 1, sStuId = 1801111, sSex = 0;
执行结果:
注意:共2行受影响,原来行被删除,新的一行被添加。但是主键值id为1保持不变。
查询数据:
Good Good Study,Day Day Up.
顺序 选择 循环 总结
相关文章
- mysql:Java通过驱动包(jar包)连接MySQL数据库—步骤总结及验证
- mysql语句和sql语句的区别_oracle和sqlserver的语法区别
- MySQL求两个时间差的计算方法(mysql两个时间差)
- MySQL 使用 ALTER 语句增加表列(mysql增加列语句)
- Oracle与MySQL: 不同之处(oracle与mysql的区别)
- MySQL如何查询多字段的数据(mysql查询多个字段)
- MySQL 执行失败:分析与解决(mysql不能执行)
- C语言操作MySQL:从零开始(c语言连接mysql)
- MySQL 使用别名:让SQL语句更加简洁易懂(mysql使用别名)
- MySQL索引加速查询语句(mysql索引语句)
- MySQL中的LIKE语句:模糊匹配条件查询(mysql的like语句)
- MySQL读取慢,排查指南(mysql读取慢)
- MySQL存储过程:让数据更有效率(mysql储存过程)
- MySQL如何添加注释语句(mysql怎么注释)
- MySQL添加记录语句简介(mysql添加语句)
- MySQL表结构修改:掌握ALTER语句(mysql修改表结构语句)
- MySQL注释符:详解SQL语句中的注释方式(mysql的注释符)
- MySQL数据表优化:提升数据库性能(mysql数据表优化)
- MySQL新建连接:快速上手指南(mysql新建连接数据库)
- MySQL数据库中的主键与外键了解其作用和区别(mysql中 主键与外键)
- 语句简单轻松在CMD里编写MySQL语句(cmd里编写mysql)
- 如何使用CMD快捷进入MySQL(cmd进入mysql语句)
- 解析MySQL语句ANTLR的奇妙之旅(antlr解析mysql)
- MySQL数据库中的锁类型及其区别(mysql一共有几种锁)