Mysql 批量update和批量insert详解

2023-11-20

      为了减少与数据库的连接,减少服务器的负荷,需要我们时常对SQL进行分析、优化等操作。针对mysql的批量更新(insert 和 update),就是使用一条INSERT/UPDATE语句来更新多条记录。

        由于不是标准的SQL语法,只能在MySQL中使用,大家使用时要多加注意。

   INSERT

  • 使用方法:INSERT INTO table_name(column1,column2,column3) VALUES (valuse1,values2,values3), (valuse10,values20,values30);
  • 示例:insert into testtable(version,standard) values (1,'张飞2'),(1,'关羽2') ;

  UPDATE

  • 使用方法:
  1.  replace into table_name(column1,column2) values (1,'2'),(2,'3'),...(x,'y');
  2. insert into table_name(id,column1,column2) values (1,'2','2'),(2,'3','3'),...(x,'y','y') on duplicate key update column1=values(column1),column2=values(column2);
  3. UPDATE table_name
            SET column1 = CASE id 
                WHEN 1 THEN 3 
                WHEN 2 THEN 4 
                WHEN 3 THEN 5 
            END
        WHERE id IN (1,2,3);
  • 说明:经常用到方法一和方法二,这里说说他们的区别:replace into 操作本质是对重复的记录先delete 后insert,如果更新的字段不全会将缺失的字段置为缺省值,用这个要悠着点否则不小心清空大量数据可不是闹着玩的;  insert into 则是只update重复记录,不会改变其它字段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql 批量update和批量insert详解 的相关文章

随机推荐

  • 简单实现链表增删改查

    学习目标 简单实现链表增删改查 学习内容 外部类和内部类 封装方法 其他类使用内部类私有方法 递归算法 代码块 class test public static void main String args Nodelianbiao nlb
  • js下载流文件

    const request new XMLHttpRequest const resourceUrl hostUrl request open POST resourceUrl true request setRequestHeader A
  • rabbitmq消费者启动报队列未找到

    使用的是spring rabbitmq 启动tomcate报错 消费这队列找不到 如果队列不存在消费者会自动创建的 Caused by org springframework amqp AmqpIllegalStateException F
  • 阿里云无影云电脑怎么买?阿里无影云电脑教程

    可以理解成一台普通的远程连接的电脑不能用于建站之类 纯粹处理办公文档一类 阿里云无影云电脑怎么买 云电脑无影在哪里买 阿里云无影云电脑已经底调上线 可以在阿里云官方云小站购买 目前 阿里云无影云电脑针对新用户有优惠活动 mini版无影云电脑
  • 性能测试流程

    性能测试流程 1 性能测试需求分析 2 性能测试计划和方案 3 性能测试用例编写 4 性能测试执行 编写 录制脚本 搭建场景 运行脚本 系统性能调优 5 性能测试报告总结 流程拆分 一 性能测试需求分析 1 1 熟悉被测系统 熟悉被测系统的
  • 在JDK17尝鲜Flink1.17

    在JDK17尝鲜Flink1 17 前言 还没玩明白老版本 Flink1 17就来了 总还是要向前看的 根据官网文档 https nightlies apache org flink flink docs release 1 17 docs
  • 【攻防世界】三 --- php_rce

    题目 php rce 一 writeup 主页中提示使用了ThinkPHP V5 在github中搜一下ThinkPHP V5的相关漏洞 可以找到一些 由于我们不知其具体的版本 随便找一个执行一下 这里选择第一个 会显出了root
  • 前端学习教程:快速入门前端图表插件ECharts

    前言 在前端项目开发中 有很多地方会遇到绘制图表的需求 一般的图表可以通过canvas来绘制 但是遇到复杂一点的图表怎么办呢 不要慌 在下今天就给大家推荐一个前端大佬们用的非常火的图表插件 ECharts ECharts特性简介 EChar
  • mysql不是内部或外部命令,也不是可运行的程序 或批处理文件。

    安装Mysql后 当我们在window r中输入cmd中敲入mysql时会出现 Mysql 不是内部或外部命令 也不是可运行的程序或其处理文件 打开我的电脑在我的电脑右键中选择属性 然后单击选择高级系统设置 在系统属性的 高级 中选择环境变
  • 域名及真实IP-信息收集

    顶级域名 a 国际域名 常用的是 com net org 推荐大家用 com 示范 taobao com dangdang com b 国家域名 中国国家域名 cn 美国国家域名 us 考虑政策原因 cn域名请个人网站谨慎使用 企业网站可以
  • Photoshop、Illustrator、Sketch哪个更好

    以前在交流组经常能看到大家争论哪个设计软件好 到底是你的吗 Illustrator好还是我的CorelDRAW或者他的Photoshop强大 但是跟着UI流行的设计 Sketch软件也加入了争论 让我们和你分享一下这篇文章 让我们来看看平面
  • 怎么检查代码完好?

    怎么检查代码完好 一 前言 在提交代码前 不论是提交到 SVN 还是 Git 仓库 我们都必须保证提交的代码是正确无误 那么咱们怎么才能确保资金调的代码是正确无误的呢 二 问题 1 maven 项目中提交代码前 怎么保证代码正确无误 2 W
  • 树莓派内核开发准备(内核源码获取、启动过程、源码目录树)

    目录 1 交叉编译工具的安装 2 内核源码获取 3 嵌入式设备带操作系统的启动过程扫盲 4 Linux内核源码树扫盲 1 内核源码简介 2 Linux内核源代码目录树结构 tree指令查看 内核源码目录树 1 交叉编译工具的安装 参照我之前
  • 【单片机笔记】基于STM32的8通道的开源无线遥控器手柄

    MARS STM32遥控器v1 0 MARS STM32遥控器v1 0 1 1 遥控器简介 1 2 硬件详解 8 2 1MCU主控部分 8 2 2电源部分 9 2 3摇杆 段位 拨轮通道部分 10 2 4五项按键 11 2 5蜂鸣器和LED
  • SpringCloud Alibaba 引入Dubbo踩坑

    前言 在搭建springcloud alibaba的时候 引入Dubbo相关依赖 项目启动报错 版本信息 依赖 版本 Spring Boot 2 4 2 Spring Cloud 2020 0 0 Spring Cloud Alibaba
  • 为什么大公司一定要使用DevOps?

    0 DevOps的意图 究竟什么是DevOps 要想回答这个问题 首先要明确DevOps这个过程参与的人员是谁 即开发团队和IT运维团队 那么 DevOps的意图是什么呢 即在两个团队之间 建立良好的沟通和协作 更快更可靠的创建高质量软件
  • 机器学习分类模型-线性回归Linear regression

    Linear regression module from collections import Counter import numpy as np import pandas as pd from imblearn over sampl
  • 阿里云ftp配置

    yum install vsftpd 安装ftp rpm Uvh http mirror centos org centos 6 os x86 64 Packages ftp 0 17 54 el6 x86 64 rpm 安装ftp插件 v
  • 学习PostgreSQL

    参考链接 https www runoob com postgresql postgresql tutorial html
  • Mysql 批量update和批量insert详解

    为了减少与数据库的连接 减少服务器的负荷 需要我们时常对SQL进行分析 优化等操作 针对mysql的批量更新 insert 和 update 就是使用一条INSERT UPDATE语句来更新多条记录 由于不是标准的SQL语法 只能在MySQ