加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL教程MySQL中replace into语句的用法详解

发布时间:2020-12-12 01:10:37 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程MySQL中replace into语句的用法详解》要点: 本文介绍了MYSQL教程MySQL中replace into语句的用法详解,希望对您有用。如果有疑问,可以联系我们。 MYSQL数据库 在向表中插入数据的时候,经常遇到这样的情况: MYSQL数据库 1、首先判断数据是否存在

《MYSQL教程MySQL中replace into语句的用法详解》要点:
本文介绍了MYSQL教程MySQL中replace into语句的用法详解,希望对您有用。如果有疑问,可以联系我们。

MYSQL数据库在向表中插入数据的时候,经常遇到这样的情况:

MYSQL数据库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

在MySQL 中也可以先select,判断是否存在,存在则 update 否则 insert
但在MySQL 中有更简单的方法,使用 replace into关键字
代码如下: replace into table(id,now());

代码如下:
replace into table(id,update_time) select 1,now();

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中.

MYSQL数据库1、如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据.
2、 否则,直接插入新数据.

MYSQL数据库要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,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使用:

MYSQL数据库常见update写法:update table set col=col+1 where id=1;
使用replace into不支持这样的写法:replace into table set col=col+1,id=1;

MYSQL数据库1、首先判断数据是否存在;(没问题)
2、如果不存在,则插入;(没问题)
3、如果存在,某字段值在原来的基础上加上或减去某个数,如加一操作.(不支持)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读