广告
返回顶部
首页 > 资讯 > 数据库 >MySQL如何实现数据批量更新功能
  • 380
分享到

MySQL如何实现数据批量更新功能

2023-07-05 03:07:12 380人浏览 独家记忆
摘要

本篇内容主要讲解“MySQL如何实现数据批量更新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql如何实现数据批量更新功能”吧!根据不同条件批量更新同一值这种场景直接通过update语

本篇内容主要讲解“MySQL如何实现数据批量更新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Mysql如何实现数据批量更新功能”吧!

根据不同条件批量更新同一值

这种场景直接通过update语句更新即可,如:

UPDATE t_sys_user SET `desc` = 'CaseWhen-0' WHERE id IN (1001,1002,1003);

根据不同条件更新不同值

循环遍历逐条更新

  • 这种方式虽然简单,但是每更新一条数据就需要连接一次数据库,数据量多一点就会非常耗性能

foreach多条更新:

  • 通过foreach组装成多条update语句,实现一次数据库连接执行多条update语句

  • mybatis映射文件中的sql语句默认是不支持以" ; " 结尾的,也就是不支持多条sql语句的执行

  • 所以需要在连接mysql的url上加 &allowMultiQueries=true 这个才可以执行

<update id="updateForeach">    <foreach collection="list" item="param" separator=";">        UPDATE t_sys_user        <set>            <if test=" param.desc != null and param.desc != ''">                `desc` = #{param.desc}            </if>        </set>        WHERE id = #{param.id}    </foreach></update>

case when 进行数据批量更新:

  • 通过 case when 的语法特性来实现根据不同条件更新不同值,也是进行一次数据库连接即可;当然,如果需要更新多个字段也是可以的

  • 这里提一下:由于表中有个desc字段是mysql关键字,所以需要用`斜单引号符号来处理一些

  • 值得注意:使用case when 更新时,最好也指定where条件,不然会进行全表扫描再更新

<update id="updateBatchCaseWhen">    UPDATE t_sys_user    <set>        <trim prefix="`DESC`= CASE id" suffix="END,">            <foreach collection="list" item="param">                <if test="param.id != null">                    WHEN #{param.id} THEN #{param.desc}                </if>            </foreach>        </trim><!--            <trim prefix="username = CASE id" suffix="END,">            <foreach collection="list" item="param">                <if test="param.username != null and param.username != ''">                    WHEN #{param.} THEN #{param.username}                </if>            </foreach>        </trim> -->    </set>    <where>        id in        <foreach collection="list" item="param" separator="," open="(" close=")">            #{param.id}        </foreach>    </where></update>
  • 我个人本地测了一下,40w数据使用case when更新1000条用400ms-500ms,使用foreach用时2000ms左右

  • 循环遍历逐条更新没测,想想也是最慢的

  • 如果数据量大,case when更新多个字段估计也够呛,要遍历多次(上述代码5-10行)构建SQL

到此,相信大家对“MySQL如何实现数据批量更新功能”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL如何实现数据批量更新功能

本文链接: https://www.lsjlt.com/news/349203.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL如何实现数据批量更新功能
    本篇内容主要讲解“MySQL如何实现数据批量更新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL如何实现数据批量更新功能”吧!根据不同条件批量更新同一值这种场景直接通过update语...
    99+
    2023-07-05
  • MySQL实现数据批量更新功能详解
    目录根据不同条件批量更新同一值根据不同条件更新不同值循环遍历逐条更新foreach多条更新:case when 进行数据批量更新:根据不同条件批量更新同一值 这种场景直接通过upda...
    99+
    2023-02-11
    MySQL数据批量更新 MySQL批量更新 MySQL数据更新
  • MySQL如何实现数据批量更新
    最近需要批量更新大量数据,习惯了写sql,所以还是用sql来实现,下面这篇文章主要给大家总结介绍了关于MySQL批量更新的方式,需要的朋友可以参考下 根据不同条件批量更新同一值 这种场景直接通过update语句更新即可,如: 1 UP...
    99+
    2023-10-20
    mysql 数据库
  • MySQL实现批量更新不同表中的数据
    目录批量更新不同表的数据下面为当时所编写的存储过程本代码涉及到的MySQL的内容为批量更新语句(UPDATE)使用UPDATE语句实现批量修改创建数据库‘bhl_...
    99+
    2022-11-13
  • 大批量数据分批批量插入或更新(Mybatis+MySQL)
    大批量数据分批批量插入或更新 在MySQL数据库的前提下,插入或更新大批量数据。首先批量插入需要考虑到以下几个因素: 数据库一次可以承受多大或者多少条数据的插入批量插入是否会占用Mysql资源太久,影响系统整体使用性能代码中的集合是否会造成...
    99+
    2023-08-30
    mybatis mysql 数据库 java spring boot
  • python如何实现Mysql数据库批量新增数据
    本篇内容主要讲解“python如何实现Mysql数据库批量新增数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python如何实现Mysql数据库批量新增数据”吧!一、批量插入数据的场景在进行...
    99+
    2023-06-29
  • mysql怎么批量更新千万数据
    批量更新千万条数据可以使用MySQL的UPDATE语句结合WHERE子句来实现。下面是一个示例: UPDATE 表名 SET...
    99+
    2023-10-24
    mysql
  • Mysql中怎么实现Update批量更新
    Mysql中怎么实现Update批量更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,我们会使用以下SQL语句来更新字段值:UPD...
    99+
    2022-10-18
  • MySQL如何批量更新死锁
    这篇“MySQL如何批量更新死锁”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL如何批量更新死锁”文章吧。表结构如下...
    99+
    2023-07-06
  • MySQL 更新数据 不同条件(批量)更新不同值
    一般在更新时会遇到以下场景:1.全部更新;2.根据条件更新字段中的某部分内容;3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法。 一、方法分类 二、具体用法 (1)根据条件更新...
    99+
    2023-09-01
    mysql 数据库 sql
  • MySQL NDB如何进行批量更新100万行数据
    本篇文章为大家展示了MySQL NDB如何进行批量更新100万行数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 生产NDB数据库中...
    99+
    2022-10-18
  • 使用saveOrUpdateBatch实现批量插入更新数据
    saveOrUpdateBatch 是 Hibernate 中的一个方法,可以用来批量插入或更新数据。这个方法的参数是一个 List,里面可以存储多个实体对象。当 Hibernate 执行这个方法时,会检查每个实体对象是否存在主键,如果存在...
    99+
    2023-08-31
    hibernate spring java 后端
  • SQLServer2005数据库中怎么实现批量更新
    这篇文章将为大家详细讲解有关SQLServer2005数据库中怎么实现批量更新,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  SQLServer2005数...
    99+
    2022-10-18
  • Mysql 实现批量插入对已存在数据忽略或更新
    Mysql 实现批量插入对已存在数据忽略/更新 文章目录 Mysql 实现批量插入对已存在数据忽略/更新一. 表的准备二. 实现2.1 实现原理2.2 批量插入对已存在数据忽略 一. ...
    99+
    2023-09-20
    mysql 数据库
  • Python实现mysql数据库更新表数据接口的功能
    前言 昨天,因为项目需求要添加表的更新接口,来存储预测模型训练的数据,所以自己写了一段代码实现了该功能,在开始之前,给大家分享python 操作mysql数据库基础: #coding=utf-8 imp...
    99+
    2022-06-04
    接口 功能 数据库
  • mybatis 实现插入或更新数据功能,数据存在时只更新
    需求 提供一个接口,既能保证新数据的插入操作,又能在数据存在时进行数据更新操作 实现:on duplicate key update 在mysql中,提供有on duplicate key updat...
    99+
    2023-09-08
    mybatis 数据库 mysql
  • python实现Mysql数据库批量新增数据的场景分析
    一、批量插入数据的场景 在进行数据压力时需要进行大数据量的测试比如登录要进行千人用户同时登录比如数据加工由于源数据没有,需要我们进行数据库数据的插入选择方法使用Jmeter进行接口数...
    99+
    2022-11-13
  • 如何使用MongoDB实现数据的批量导入、导出功能
    如何使用MongoDB实现数据的批量导入、导出功能MongoDB是一种NoSQL数据库,作为一种非关系型数据库,其在数据存储和查询上有着很大的灵活性和性能优势。对于需要批量导入和导出数据的应用场景,MongoDB也提供了相应的工具和接口。本...
    99+
    2023-10-22
    MongoDB 导出 批量导入
  • Django框架如何利用ajax实现批量导入数据功能
    这篇文章给大家分享的是有关Django框架如何利用ajax实现批量导入数据功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下url.py代码:url(r'^workimport/$',...
    99+
    2023-06-08
  • MySQL怎么进行批量更新和删除数据shell脚本
    MySQL怎么进行批量更新和删除数据shell脚本,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。#!/bin/bash. ~/.bash_...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作