数据库根据键值自动判断插入还是更新的SQL
数据库根据键值自动判断插入还是更新的SQL
沉默的子明 发表于1年前
数据库根据键值自动判断插入还是更新的SQL
  • 发表于 1年前
  • 阅读 72
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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

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 ! ]

共有 人打赏支持
粉丝 5
博文 36
码字总数 1245
×
沉默的子明
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: