• MySQL中select、insert、update批量操作语句


      项目中经常的需要使用批量操作语句对数据进行操作,使用批量语句的时候需要注意MySQL数据库的条件限制,这里主要是数据的大小限制,这里对批量插入、批量查找及批量更新的基础操作进行下简单的汇总。

    1、批量insert插入语句,如下的语句在测试环境尝试过1W+的批量插入,具体数量跟表结构及字段内容有关系。

    <insert id=”addTextPushList”paramerterType = “java.util.List”>
        INSERT  INTO  SYS_TEXT_PUSH(
                PUSH_ID,
                USER_UM_ACCOUNT,
                USER_NAME,
                SECTION,
                USER_MOBILE,
                PUSH_STATUS,
                PROMOTE_ID,
                CREATED_BY,
                CREATION_DATE,
                ENABLED_FLAG    
    )values
    <foreach   collection=”list”   item = “item”  separator=”,”>
        (
            #{item.pushId},
            #{item,userUmAccount},
            #{item.userName},
            #{item.section},
            #{item.userMobile},
            #{item.pushStatus},
            #{item.promoteId},
            #{item.createdBy},
            #{item.creationDate},
            #{item.enabledFlag}
    )
    </foreach>
    </insert>

    2、批量select查询语句

    <select   id = “getTextPromoteByIds”   parameterType = “java.util.list”  resultMap = “textPromoteMap”>
        SELECT 
            *
        FROM   SYS_TEXT_PROMOTE 
        WHERE
             TEXT_PUSH_FLAG  = 1
            AND   PROMOTE_ID   IN
        <foreach   collection=”list”   item = “item”  open=”(”  separator=”,”  close =”)”>
        #{item}
    </foreach>
    </select>

    3、批量update语句。

    第一种情况是需更新的值相同:

    <update   id = “updatePushStatus”  parameterType = “java.util.List”>
        update
             SYS_TEXT_PUSH
        SET
            PUSH_STATUS = 1,
            LAST_UPDATE_DATE = NOW()
        WHERE
                PUSH_ID   IN
    <foreach   collection=”list”   item = “item”  open=”(”  separator=”,”  close =”)”>
        #{item}
    </foreach>
    </update>

    第二种情况是需更新的值不同:

    <update   id = “updatePushStatus”  parameterType = “java.util.List”>
    <foreach   collection=”list”   item = “item”  index  =index>
        update
             SYS_TEXT_PUSH
        SET
            PUSH_STATUS  =  #{item.pushStatus},
            LAST_UPDATE_DATE = NOW()
        WHERE
                PUSH_ID   =  #{item.pushId}
    </foreach>
    </update>
  • 相关阅读:
    Vuejs模板绑定
    Vuejs基本使用
    Vuejs简介
    echarts 使用配置模式(含事件)
    JS 对象(Object)和字符串(String)互转
    HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用
    highcharts点击事件系列
    servlet填充Response时,数据转换之content-type
    leetcode-70. Climbing Stairs
    deep copy and shallow copy
  • 原文地址:https://www.cnblogs.com/8593l/p/10499717.html
Copyright © 2020-2023  润新知