• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL中replace into语句的用法详解

MySQL中replace into语句的用法详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql replace into,mysql replace,mysql中replace,mysql replace函数,mysql update replace等相关知识,希望本文的分享对您有所帮助

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

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
</div>
在MySQL 中也可以先select,判断是否存在,存在则 update 否则 insert
但在MySQL 中有更简单的方法,使用 replace into关键字
或
replace into table(id, update_time) select 1, now();
</div>
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, ...
</div>
前两种形式用的多些。其中 “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、如果存在,某字段值在原来的基础上加上或减去某个数,如加一操作。(不支持)

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • replace MYSQL字符替换函数sql语句分享(正则判断)
  • MySQL中REPLACE INTO和INSERT INTO的区别分析
  • MySQL replace函数替换字符串语句的用法
  • MySQL replace into 语句浅析(二)
  • MySQL replace into 语句浅析(一)
  • mysql中使用replace替换某字段的部分内容
  • MySQL中replace into语句的用法详解
  • 浅析MySQL replace into 的用法
  • MYSQL 批量替换之replace语法的使用详解

相关文章

  • 2018-12-05一些常用的mysql优化方法总结
  • 2018-12-05MySQL优化包括的三个方面
  • 2018-12-05SQL2005的维护计划无法删除的解决方法
  • 2018-12-05mysql教程:使用SELECT INTO进行备份
  • 2017-05-11解析mysql与Oracle update的区别
  • 2018-12-05使用mysql_select_db()函数选择数据库文件(PHP操作MySQL数据库的方法二)
  • 2018-12-05mysqli多条sql语句查询
  • 2018-12-05SQL Server 2005中更改sa的用户名的方法
  • 2018-12-05SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)
  • 2018-12-05Oracle定义联合数组及使用技巧

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • win2003 mysql单向同步配置步骤[已测]
    • Mysql中的视图实例详解
    • Linux下mysql新建账号及权限设置方法
    • 角色与权限如何控制数据表
    • sqlserver 巧妙的自关联运用
    • 规范化的SQL数据修改语句总结
    • 超详细mysql left join,right join,inner join用法分析
    • oracle 集合
    • 了解数据库设计三大范式
    • Last_Errno: 1062,Last_Error: Error Duplicate entry

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有