【】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 语句 insert into 与 replace into 区别的更多相关文章

  1. MySQL的insert ignore与replace into不同

    以前从来没有接触过replace into这个语法,但是却看到很多人都在使用这个语法,并且应用在很多生产环境中,于是我也去学习了一下repalce into的用法. 关于replace 一句话:正常情 ...

  2. mysql语句insert后取到返回的主键id

    Q:   有时候做类似接口里的数据订正,需要取到insert语句返回的id主键,在程序里通过对象返回好取,但是写sql怎么取到呢? A:  用select @@identity得到上一次插入记录时自动 ...

  3. MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

    本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下   MySQL数据库insert和update语句引:用于操作数 ...

  4. 转载:MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

    转自:http://www.jb51.net/article/39199.htm 本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍, ...

  5. MySQL的insert语句的区别

    SQL Server: insert into tb_articleType (articleType_name,articleType_info) values ("test", ...

  6. mysql语句与sql语句的基本区别

    . MySQL支持enum和set类型,SQL Server不支持: . MySQL不支持nchar.nvarchar.ntext类型: . MySQL数据库的递增语句是AUTO_INCREMENT, ...

  7. MySQL中的insert ignore into, replace into等的一些用法小结(转)

    MySQL中的insert ignore into, replace into等的一些用法总结(转) 在MySQL中进行条件插入数据时,可能会用到以下语句,现小结一下.我们先建一个简单的表来作为测试: ...

  8. MySQL数据库 crud语句 ifnull() 创建新账户 备份数据库 一对多关系 多对多(中间表) 外键约束 自关联 子查询注意事项 DML DDL DQL mysql面试题 truncate与delete的区别

    DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL ...

  9. 老李分享:MySql的insert语句的性能优化方案

    老李分享:MySql的insert语句的性能优化方案   性能优化一直是测试人员比较感兴趣的内容,poptest在培训学员的时候也加大了性能测试调优的方面的内容,而性能优化需要经验的积累,经验的积累依 ...

随机推荐

  1. ansible 批量部署准备工作

    Ansible:自动化运维工具,基于Python开发 功能{ 批量系统配置 批量程序部署 批量运行命令等等 } 准备工作: 一.操作主机安装epel源 和 ansible工具 yum -y insta ...

  2. js中call,apply,bind方法的用法

    call .apply.和bind 以上这三个方法都是js function函数当中自带的方法,用来改变当前函数this的指向. call()方法 语法格式: fun.call(thisArg[,ar ...

  3. ES6 let 和const

    一.var 的缺陷:var 只有全局作用域和函数作用域,没有块级作用域,除了在函数内部的变量默认都属于window var foo='hello'; fn=function(){ var foo='w ...

  4. 机器学习之决策树原理和sklearn实践

    1. 场景描述 时间:早上八点,地点:婚介所 '闺女,我有给你找了个合适的对象,今天要不要见一面?' '多大?' '26岁' '长的帅吗?' '还可以,不算太帅' '工资高吗?' '略高于平均水平' ...

  5. JavaScript语法-流程控制语句

    一.JavaScript特殊语法 JS特殊语法: 1. 语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议) 2. 变量的定义使用var关键字,也可以不使用 * 用: 定义的变量是局部变量 * ...

  6. nginx之rewrite相关功能

    Nginx Rewrite相关功能 Nginx服务器利用ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regu ...

  7. 重装了服务器,用的是centos/php微信小程序版,centos 命令大全

    centos 命令大全 1.关机 (系统的关机.重启以及登出 ) 的命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdo ...

  8. android常见错误之 No resource found that matches the given name

    新手上路,还希望大神多多照顾,刚自学android,遇到很多困难.其中就有这个问题,不知道你们遇到过没有,反正我是很头痛. No resource found that matches the giv ...

  9. mysql(四)缓存

    参考文档: http://www.cnblogs.com/zemliu/archive/2013/08/03/3234372.html

  10. CAP原则 (阿里)

    CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partition tolerance).CAP 原则指的是,这三 ...