新建一个test表,三个字段,id,title,uid,  id是自增的主键,uid是唯一索引;

插入两条数据

insert into test(title,uid) VALUES ('123465','1001');insert into test(title,uid) VALUES ('123465','1002');

执行单条插入数据可以看到,执行结果如下:

[SQL]insert into test(title,uid) VALUES ('123465','1001');

受影响的行: 1时间: 0.175s

使用 replace into插入数据时:

REPLACE INTO test(title,uid) VALUES ('1234657','1003');

执行结果:

[SQL]REPLACE INTO test(title,uid) VALUES ('1234657','1003');

受影响的行: 1

时间: 0.035s

当前数据库test表所有数据如下:

当uid存在时,使用replace into 语句

REPLACE INTO test(title,uid) VALUES ('1234657','1001');[SQL]REPLACE INTO test(title,uid) VALUES ('1234657','1001');

受影响的行:2时间:0.140s

replace 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 将自动为这些列赋上默认值。

mysql into_MYSQL中replace into的用法相关推荐

  1. MYSQL中replace into的用法

    今天在编程的时候,学习了replace into的用法,真的很好用,是insert into的增强版.在向表中插入数据时,我们经常会遇到这样的情况:1.首先判断数据是否存在:2.如果不存在,则插入:3 ...

  2. mysql中replace函数的用法

    ##-----MySQL数据替换即replace的运用-----## #这里主要介绍一些关于replace函数的用法.关于研究这个主要是发现replace功能很强大 #对于屏蔽关键字很有用处. #现在 ...

  3. mysql中replace into效率_MYSQL中replace into的用法

    做项目是遇到这样一个问题,把查询出的数据插入到一个新表里面,第一次可以直接插入,但是第二次第三次的时候如果直接更新,但是会有些新的数据需要添加,但是如果先删除再插入的话效率不高,如果对比两端的数据,相 ...

  4. java mysql insert_MySQL中INSERT的一般用法

    INSERT语句是最常见的SQL语句之一,但是MySQL中INSERT语句的用法和标准用法不尽相同,下文就为您详细介绍MySQL中INSERT的一般用法,供您参考. 1用法 在标准的SQL语句中,一次 ...

  5. js中replace作用以及用法

    replace作用以及用法 1. 作用:替换字符串中的内容 2. 用法:str.replace(regexp|substr, newSubStr|function) 3. 参数说明:- regexp( ...

  6. mysql patindex_SQL中 patindex函数的用法

    原文: SQL中 patindex函数的用法 语法格式:PATINDEX ( '%pattern%' , expression ) 返回pattern字符串在表达式expression里第一次出现的位 ...

  7. hive replace替换多个_详解Mysql数据库中replace与replace into的用法及区别

    概述 Mysql数据库replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与i ...

  8. mysql中select into_Mysql中SELECT INTO 语句用法详解

    语法介绍: 把所有的列插入新表 代码如下 SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename 只把希望的列插入新 ...

  9. mysql数据库中case when 的用法

    场景1:比如说我们在数据库存了性别的字段,一般都是存0 和 1 代表男和女   然后我们会得到0和1之后在java中判断 ,很麻烦有么有?其实我们完全可以在sql中判断好之后拿来现成的.就是在sql中 ...

最新文章

  1. laravel 5 自定义全局函数,怎么弄呢?
  2. 《为iPad而设计:打造畅销App》——将iPad作为视频娱乐设备
  3. html文字阴影php,HTML_html5文字阴影效果text-shadow使用示例,复制代码代码如下: !DOCTYPE h - phpStudy...
  4. python画相关系数矩阵图_pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))...
  5. mybatis中prefix,suffix,prefixOverrides,suffixOverrides用法解释
  6. 【免费毕设】asp.net电子书城系统设计与实现(源代码+lunwen)
  7. RDKit化学式 分子式搜索
  8. iOS开发之抓包工具的Charles的初步安装使用:一步一步教你学会抓包工具Charles的使用(下载破解+代理设置+证书配置)
  9. 快手直播怎么下载?一键轻松下载直播
  10. linux qt程序向windows移植失败记.
  11. 前后端分离实现文件下载功能
  12. 柳婼、知乎PAT经验分享汇总
  13. 软件工程各种UML总结
  14. 巧用Redis做游戏跨服排行榜
  15. 中国眼镜市场销售前景分析与运营效益研究报告2021-2026年
  16. Unity3D插件 Doozy UI 学习(三):UI Element
  17. 数据分析 第六讲 pandas
  18. ens天空盒_这句话的意思
  19. 指纹图像方向图matlab,基于Matlab实现的指纹图像细节特征提取
  20. 转:管理大师曼弗雷德:不关注员工的动机需求,何谈高绩效组织?

热门文章

  1. TIMING_02 浅谈时序约束与时序分析
  2. 函数不可访问_关于可重入函数
  3. solidworks无法获得下列许可standard_SolidWorks2020安装无法获得下列许可SOLIDWORKS Standard怎么解决?...
  4. 清华博士告诉你 “0Ω电阻”的系列应用
  5. 基于Nexys4 DDR的VGA显示图片
  6. 计算机优点 缺点劣势英语作文,Internet网的优点与缺点英语作文
  7. arm rtx教程_ARM RTX操作系统—Overview—Product Description
  8. java mouselistener,Java MouseListener接口
  9. iphone黑屏转圈_iphone7无限转圈黑屏怎么回事?
  10. 当计算机从硬盘读取数据后 将数据,当计算机从硬盘读取数据后,将数据暂时储存在于()...