merge into用法mysql_merge into用法
简单的说就是,判断表中有没有符合on()条件中的数据,有了就更新数据,没有就插入数据。
有一个表T,有两个字段a、b,我们想在表T中做Insert/Update,如果条件满足,则更新T中b的值,否则在T中插入一条记录。在Microsoft的SQL语法中,很简单的一句判断就可以了,SQL Server中的语法如下:(推荐学习:MySQL视频教程)if exists(select 1 from T where T.a='1001' )
update T set T.b=2 Where T.a='1001'
else
insert into T(a,b) values('1001',2);
但是很明显这个语法对于SQL只能更改一条语句,并且Oracle不能使用.所以就有了Merge into(Oracle 9i引入的功能)语法merge into 目标表 a
using 源表 b
on(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……)
when matched then update set a.更新字段=b.字段
when not matched then insert into a(字段1,字段2……)values(值1,值2……)
"在一个同时存在Insert和Update语法的Merge语句中,总共Insert/Update的记录数,就是Using语句中"源表"的记录数"。
源表b可能是一张表结构不同于a的表,有可能是一张构建相同表结构的临时表,也有可能是我们自己组起来的数据.
更多MySQL相关技术文章,请访问MySQL数据库图文教程栏目进行学习!
merge into用法mysql_merge into用法相关推荐
- mysql中merge的用法_mysql中merge表存儲引擎用法介紹
mysql中merge表存儲引擎用法介紹: mysql的merge引擎類型允許你把許多結構相同的表合並為一個表.然后,你可以執行查詢,從多個表返回的結果就像從一個表返回的結果一樣.每一個合並的表必須有 ...
- (COPY)document.all和document.getElementById用法 document.all用法:
(COPY)document.all和document.getElementById用法 document.all用法: <html> <body> < ...
- JObject 用法 、JProperty 用法、JArray 用法 Linq 转 Json
转: JObject 用法 .JProperty 用法.JArray 用法 Linq 转 Json 1.使用LINQ to JSON前,需要引用Newtonsoft.Json的dll和using Ne ...
- C语言task的用法,C# Task 用法
C# Task 的用法 其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观.代码更简洁了,使用Task来进行操作.可以跟线程一样可以轻松的对执行的方法进行控制. 顺便提一下, ...
- mysql日期函数之DATEDIFF() if()用法 case when用法
mysql日期函数之DATEDIFF() if()用法 case when用法 背景: 用户密码七天后会过期,用户修改密码时会同步添加修改时间进数据库, 登录时校验用户是否需要修改密码, 一开始想的时 ...
- c语言(vd6.0) sleep函数用法 及delay用法
c语言(vd6.0) sleep函数用法 及delay用法 悬赏分:20 | 解决时间:2009-5-20 20:56 | 提问者:杨筱硕 请注明头文件 2个函数都要举例 最佳答案 1.函数名: de ...
- C++基础用法—冒号的用法
C++基础用法-冒号的用法 一.用法一:继承 1.1用法:用在class或struct后面 1.2示例代码 二.用法二:赋值 1.1用法:用在成员函数.构造函数后面 1.2示例代码 1.2.1示例代码 ...
- guess在Java中用法_guess的用法
guess有推测;猜中;以为等意思,那么你知道guess的用法吗?下面跟着学习啦小编一起来学习关于guess的用法及相关知识吧,希望对大家的学习有所帮助! guess的用法 guess的用法1:gue ...
- 【Access各种类型变量表示】声明模块变量的用法,变量符号用法,文本型变量.日期型变量,数字型变量,数值型变量的符号表示法
作 者:麥田 ID:11 城市:上海 QQ:3002789054 摘 要:声明模块变量的用法,变量符号用法,文本型变量.日期型变量,数字型变量,数值型变量的符号用法 正 文: 首先需要在模块声 ...
最新文章
- WindowsPhone基础琐碎总结-----数据绑定(一)
- python加减法视频教程免费_一起学opencv-python三十八(视频分析:背景减法)
- vb.net中的部分代码
- 单选项选择时,即时更新至数据库
- seleniumpython定位网页元素方法_使用Selenium对网页元素进行定位的诸种方法
- C++学习——默认构造函数
- java web远程调试工具_java远程调试 - Dendy的个人页面 - OSCHINA - 中文开源技术交流社区...
- PHP--去除字符串首尾空格
- DotText研究资料整理
- 根据两点经纬度计算距离和角度——java实现
- 2019湖南多校第四场
- python爬虫之模拟登陆(CSDN篇)
- mac lnmp 安装mysql_Mac安装LNMP环境
- vue 调用虚拟键盘
- 一文快速告诉你软件测试和软件调试有什么区别?
- PHP框架高级编程——应用Symfony、CakePHP
- stm32f107外设晶振8MHZ换成25MHZ 配置系统时钟72MHZ
- java nio 框架_几种Java NIO框架的比较(zz)
- OpenStack 归档 - 虚拟机临时存储与块存储
- 如何把数据分析做“精准”?
热门文章
- java currenttimemillis 效率_「currenttimemillis」高并发下System.currentTimeMillis()并发问题以及优化对比 - seo实验室...
- 让图形变得精致:seaborn绘图基础
- HSM和AsyncChannel介绍
- 我就是我,这世上不一样的烟火
- linux库函数实现复制文件,linux应用编程笔记(6)库函数方式实现文件复制编程...
- spring 从入门到总结
- 最完整的!WinForm使用ICSharpCode.TextEditor控件实现自定义高亮显示
- wireshark长时间抓包分多个文件
- 记录攻防世界web进阶
- 详解Active Directory域搭建