文档章节

数据库根据键值自动判断插入还是更新的SQL

沉默的子明
 沉默的子明
发布于 2016/06/24 10:39
字数 271
阅读 76
收藏 1
点赞 0
评论 0

MySQL


至4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE
INSERT INTO 表名 (字段1,字段2,……)  VALUES (值1,值2,……) ON DUPLICATE KEY UPDATE 字段n=值n;
要使用这条语句,前提条件是这个表必须有一个唯一索引或主键
多行时,会自动更新存在相同键值的行,插入键值不存在的行





Oracle


Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。
MERGE INTO [your table-name] [rename your table here]

  USING ( [write your query here] )[rename your query-sql and using just like a table]

  ON ([conditional expression here] AND [...]...)

  WHEN MATCHED THEN [here you can execute some update sql or something else ]

  WHEN NOT MATCHED THEN [execute something else here ! ]

本文转载自:http://blog.163.com/stu_shl/blog/static/5993750920122130049515/

共有 人打赏支持
沉默的子明
粉丝 4
博文 36
码字总数 1245
作品 0
南京
eric_1989/jfire-sql

#Jfire-Sql框架 [TOC] ##框架说明## Jfire-sql是一个sql映射框架,通过将一个接口方法和sql语句绑定,来达到调用方法就是发出sql语句的目的。框架提供了透明自动的结果到对象,对象集合的转换...

eric_1989
2015/09/02
0
0
Hibernate(二)——POJO对象的操作

POJO对象其实就是我们的实体,这篇博客总结一下框架对POJO对象对应数据库主键的生成策略,和一些对POJO对象的简单增删改查的操作。   一,Hibernate框架中主键的生成策略有三种方式:   1...

凡尘里的一根葱
2015/11/11
0
0
深入浅出hibernate总结

一、总括 1、sessionFactory与session (1)sessionFactory:一个数据库对应一个factory,线程安全、单例,一般随应用开启和关闭。 (2)session:非线程安全,管理connection(池) sessio...

xixicat
2014/03/30
0
0
SQLite 在 Android 中的详细使用

声明:本文转载自:http://www.cnblogs.com/weixing/archive/2013/08/02/3232994.html 感谢 “无恨星辰”的知识积累,这对于热爱学习的人来说是一个巨大的帮助..... 1、SQLite简介 SQLite是一...

learn_more
2014/12/12
0
0
技术讨论:一个关于点赞功能与异常捕获处理的迷惑

最近一直做一个关于"点赞"功能的服务器端(整个服务器功能的一个小部分),基本的需求主要是这样的: 用户发表了一个状态,浏览者可以点赞,但是点赞只能点一次.如果浏览者点了第二次,客户端就说"...

徐建兴
2013/11/21
990
4
第二部分 JDBC

java类和数据库表的关系 类对应表,字段对应属性,一行数据对应一个对象,所以类的属性名要和表的字段名相同才能进行增删改查 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于...

孙浩j
2017/12/02
0
0
ETL之增量抽取方式

1、触发器方式触发器方式是普遍采取的一种增量抽取机制。该方式是根据抽取要求,在要被抽取的源表上建立插入、修改、删除3个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据...

开源中国技术顾问
2016/07/01
89
0
mysql与Oracle的区别

一、并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。 mysql: mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他ses...

鲸落大叔
06/17
0
0
Mybatis 通用Crud-设计思路

更新日志 <!-- 2016-11-13更新 start --> 1 新增批量操作数据方法:批量插入,根据条件删除,根据条件更新指定的列名-字段值。 2 新增高级查询方法:可设置查询列,查询条件,排序,分页。 ...

LittleNewbie
2016/11/12
417
0
MySQL insert or update SQL 示例

建表 创建一个合适的表,表中必须有唯一索引,因为更新的时候就依据唯一索引更新的 编写sql测试 结合两个sql可以得出结论:ON DUPLICATE KEY UPDATE之后的字段少了UNIQUE INDEX中涉及的两个字...

Listen_ing
2016/05/25
59
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
34分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
50分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
245
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部