1. 程式人生 > 資料庫 >MySQL select、insert、update批量操作語句程式碼例項

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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。