MySQL中mysql replace intoO和INSERT INTO的区别分析

语法:MySQL中INSERT IGNORE INTO和REPLACE INTO的使用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
语法:MySQL中INSERT IGNORE INTO和REPLACE INTO的使用
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢当前位置: >
> mysql中insertinto和replaceinto及insertignore用法区别mysq
mysql中insertinto和replaceinto及insertignore用法区别mysq
rhq1234 & at
mysql中insert into和replace into及insert ignore用法区别
  mysql中insert into和replace into以及insert ignore用法区别: mysql中常用的三种插入数据的语句: insert into表示插入数据,数据库会检查主键,如果出现重复会报错; replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样; insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据; 下面通过代码说明之间的区别,如下: create table testtb( id int not null primary key, name varchar(50), age int ); insert into testtb(id,name,age)values(1,"bb",13); select * insert ignore into testtb(id,name,age)values(1,"aa",13); select *//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore则错误被忽略 replace into testtb(id,name,age)values(1,"aa",12); select * //数据变为1,"aa",12
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-MYSQL中replace into的用法
MYSQL中replace into的用法
今天在编程的时候,学习了replace into的用法,真的很好用,是insert into的增强版。在向表中插入数据时,我们经常会遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新。在SQL Server中可以这样处理: if not exists (select 1 from t where id = 1)? insert into t(id, update_time) values(1, getdate()) else update t set update_time = getdate() where id = 1那么 MySQL 中如何实现这样的逻辑呢?MySQL 中有更简单的方法: replace intoreplace into t(id, update_time) values(1, now());或replace into t(id, update_time) select 1, now();replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。MySQL replace into 有三种形式:1. replace into tbl_name(col_name, ...) values(...)2. replace into tbl_name(col_name, ...) select ...3. replace into tbl_name set col_name=value, ...第一种形式类似于insert into的用法,第二种replace select的用法也类似于insert select,这种用法并不一定要求列名匹配,事实上,MYSQL甚至不关心select返回的列名,它需要的是列的位置。例如,replace into tb1( name, title, mood) select rname, rtitle, rmood from tb2;?这个例子使用replace into从?tb2中将所有数据导入tb1中。第三种replace set用法类似于update set用法,使用一个例如“SET col_name = col_name + 1”的赋值,则对位于右侧的列名称的引用会被作为DEFAULT(col_name)处理。因此,该赋值相当于SET col_name = DEFAULT(col_name) + 1。前两种形式用的多些。其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。
.Net Developer -
ASP.Net , C#, 4.0, SQL - Microsoft Gold... - Cybercoders - Saint Petersburg, FL
#jobcircle
...杂志证券博客历史车型论坛网易&科技频道&互联网& 正文Google比利时版权纠纷再起 上诉试图推翻裁决...数月内还不会举行听证会。Copiepresse认为,Google的上诉不会影响双方的和解谈判
C# .Net Developer - Wiltshire: C# .Net Developer ( ASP.Net , Visual Studio , Sharepoint, WCF, T-SQL, CRM)...
http://bit.ly/mj4Q5y
很多人都听过云计算,感觉非常困惑,因为技术的成分太高了。 其实,所谓“云计算”,就是建设经济高效的互联网服务。 今天,很多企业和公司的背后都有非常大的数据中心和 。利用这些数据中心和服务器
Google 于周四(9/3)在旗下的 Google 财经频道( Google
Finance) 推出 美国国内动态(
Domestic Trends )功能,透过追踪特定经济领域的搜索流量以提供有用的经济分析。
Google 建立了2
BETWEEN 谓词是检查一个值或字段值是否在指定的范围内,当括这两个指定的边界值。
下面演示,是搜索出年龄23岁至30岁的会员:
据说, Google 创始人之一拉里?佩奇(Larry Page)空闲时候的唯一爱好,就是在网上搜罗各种新出炉的侦探推理题,如果第二天员工们见他红光满面,肯定是顺畅解题;如果愁眉紧锁,那就是解题受阻。这一次
MYSQL表信息的查看方法是我们经常要实现的功能,下面就为您介绍显示 MYSQL 表信息的方法,如果您对MYSQL表信息方面感兴趣的话,不妨一看。
在用mysql时(show tables),有时候需要查看表和字段的相
我相信我并不是唯一一个在童年时经常提出这样一个问题的人:如果我在地上一直挖,会挖到哪里?地球的另一端是哪?当然,如果手头上有个地球仪,你可以给出近似的答案。现在,借助Google Maps
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数
Powered by
[ RssXN(build:
070517 Asp.net 2.0)]
每隔1小时自动更新一次MySQL中replace into语句的用法详解
在向表中插入数据的时候,经常遇到这样的情况:
1、首先判断数据是否存在;
2、如果不存在,则插入;
3、如果存在,则更新。
在 SQL Server 中可以这样写:
if not exists (select 1 from table where id = 1) insert into table(id, update_time) values(1, getdate()) else update table set update_time = getdate() where id = 1
在 中也可以先select,判断是否存在,存在则 update 否则 insert
但在MySQL 中有更简单的方法,使用 replace into关键字
代码如下:replace into table(id, update_time) values(1, now());
replace into table(id, update_time) select 1, now();
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中。
1、如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
2、 否则,直接插入新数据。
要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。
MySQL中replace into有三种写法:
1. replace into table(col, ...) values(...)
2. replace into table(col, ...) select ...
3. replace into table set col=value, ...
前两种形式用的多些。其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。
另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。
可惜的是replace不支持update某些特性,也就不能直接当作update使用:
常见update写法:update table set col=col+1 where id=1;
使用replace into不支持这样的写法:replace into table set col=col+1,id=1;
1、首先判断数据是否存在;(没问题)
2、如果不存在,则插入;(没问题)
3、如果存在,某字段值在原来的基础上加上或减去某个数,如加一操作。(不支持)
顶一下(0) 踩一下(0)
热门标签:}

我要回帖

更多关于 insert or replace 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信