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

insert into … on duplicate key update / replace into 多行数据介绍

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

通过本文主要向大家介绍了insert into … on duplicate key update / replace into 多行数据介绍等相关知识,希望本文的分享对您有所帮助

场景是这样的,我有KV型的表,建表语句如下:

数据大概是这样的:

+----+----+-----------+
| k1 | k2 | val       |
+----+----+-----------+
|  1 |  1 | value 1-1 |
|  1 |  2 | value 1-1 |
|  1 |  3 | value 1-1 |
|  1 |  5 | value 1-1 |
|  1 |  7 | value 1-1 |
+----+----+-----------+

当我插入一条数据时,我要判断(k1,k2)是否已经存在(1条selete),若存在就update,不存在就insert,这是一个典型的merge过程,虽然按照PK执行操作的速度非常快,但是毕竟SQL交互量上去了,如果我有100笔这样的SQL,那这个开销是很可观的,有没有什么一条SQL就能搞定的事情呢?

有两种写法:

第一种: insert into … on duplicate key update

第二种 replace into:

最终都能将数据改成这样:

</div>

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

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

相关文章

  • 2017-05-11MySQL 分表优化试验代码
  • 2018-12-05mysql 查询结果取交集的方法
  • 2018-12-05oracle 日期函数集合(集中版本)第1/2页
  • 2018-12-05影响SQL Server性能的关键
  • 2018-12-05数据库复制性能测试 推送模式性能测试
  • 2017-05-11通过命令行导入到mysql数据库时出现乱码的解决方法
  • 2017-05-11使用Rotate Master实现MySQL 多主复制的实现方法
  • 2018-12-05获取MSSQL数据字典的SQL语句
  • 2018-12-05 MongoDB学习笔记《二》
  • 2018-12-05MySQL 教程之数据库

文章分类

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

最近更新的内容

    • mysql root用户的密码修改和消除
    • 将MySQL数据库移植为PostgreSQL
    • MySQL存储过程使用实例详解
    • sql格式化工具集合
    • oracle 更改数据库名的方法
    • 如何在linux下修改mysql数据库密码?linux修改数据库密码的方法
    • rac rman备份因归档不可访问出错RMAN-06059 RMAN-03002 ORA-1962
    • MySQL数据检索+查询+全文本搜索_MySQL
    • MYSQL主从库不同步故障一例解决方法
    • sqlserver自动增长列引起的问题解决方法

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

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