insert into与insert ignore以及replace into的区别

insert ignore表示,如果表中已经存在相同的记录,则忽略当前新数据;

INSERT INTO有无数据都插入,如果主键则不插入;

REPLACE INTO 如果是主键插入则会替换以前的数据;

1.insert语句一次可以插入多组值,每组值用一对圆括号括起来,用逗号分隔,如下:

insert into `news`(title,body,time) values(‘www.111cn.net‘,‘body 1‘,now()),(‘title 2‘,‘body 2‘,now());
 
下面通过代码说明之间的区别,如下:

create table testtb( 
id int not null primary key, 
name varchar(50), 
age int 
);

insert into testtb(id,name,age)values(1,"www.111Cn.net",13); 
select * from testtb; 
insert ignore into testtb(id,name,age)values(1,"aa",13);

select * from testtb;//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore则错误被忽略 
replace into testtb(id,name,age)values(1,"aa",12); 
select * from testtb; //数据变为1,"aa",12

原文地址:https://www.cnblogs.com/zqq521/p/9591387.html

时间: 2024-11-07 21:14:17

insert into与insert ignore以及replace into的区别的相关文章

MySQL的insert ignore与replace into不同

以前从来没有接触过replace into这个语法,但是却看到很多人都在使用这个语法,并且应用在很多生产环境中,于是我也去学习了一下repalce into的用法. 关于replace 一句话:正常情况下表中有PRIMARY KEY或UNIQUE索引,新数据会替换老的数据.没有老数据则insert该数据. REPLACE的运行与INSERT很相像.只有一点除外,如果表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除.使用

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

MySQL中的insert ignore into, replace into等的一些用法总结(转) 在MySQL中进行条件插入数据时,可能会用到以下语句,现小结一下.我们先建一个简单的表来作为测试: CREATE TABLE `books` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(200) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `NewIndex1` (`name`) ) ENGI

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

本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下 MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用 于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SEL

(转)oracle触发器使用:after insert 与before insert的简单使用注意

本文转载自:http://blog.csdn.net/kuangfengbuyi/article/details/41446125 创建触发器时,触发器类型为after insert , 在begin中 Select fieldA into v_a from tableA; 执行到此句时,会出错: --弹出错误信息提示 --ORA-04091:表tr_table发生了变化触发器/函数不能读它 --ORA-06512: 在iu_table line 2 --ORA-04088: 触发器iu_tab

select into from和insert into select from两种表复制语句区别

select into from和insert into select from两种表复制语句区别 select * into target_table from source_table; insert into target_table(column1,column2) select column1,5 from source_table; 以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别.第一句(select into from)要求目标

Oracle插入之 insert all、insert first

利用insert first/all使得INSERT语句可以同时插入多张表,还可以根据判断条件来决定每条记录插入到哪张或哪几张表中. insert first:对于每一行数据,只插入到第一个when条件成立的表,不继续检查其他条件. insert all :对于每一行数据,对每一个when条件都进行检查,如果满足条件就执行插入操作. create table edw_int ( agmt_no varchar2(40 byte) not null, agmt_sub_no varchar2(4

sql server 数据库机种 insert 语句用法insert into emproyee(e_name,e_sex)values('唐家三少',0); insert into emproyee

刚倒弄sql server 对insert 语句插入多条数据时总结下> 单条数据插入: insert into emproyee(e_name,e_sex)values('唐家三少',0); insert into emproyee(e_name,e_sex)select'骷髅精灵',0 多条数据插入: insert into emproyee(e_name,e_sex)select'天蚕土豆',0 union all select '我吃西红柿',0 union all select '逆苍天

PHP memcache add replace set的区别和其他用法收集

add replace set的区别 最近在面试时遇到一个问题 memcache 的add replace set的区别,故在此进行加强 add 是向服务器添加一个缓存的数据,当该键已存在会返回一个false,否则返回一个true replace 是在服务器内一个替换一个缓存的数据,当该键不存在时会返回一个false,否则返回true set 则是add和replace的集合体,如果该键存在就替换,不存在就设置,返回的是true increment decrement delete加法减法删除运

replace与regexp_replace区别使用以及like与instr差异

repalce(str_source,str1,str2) 把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同 replace(str_source,str1) 把str_source 中的 str1 字符串剔除 regexp_replace(str_source,pattern_str) 把 str_source 中的 pattern_str 字符串剔除 Oracle中 like与instr之间的区别于联系:在没有创建