MySQL select、insert、update批量操作語句代碼實例
項目中經(jīng)常的需要使用批量操作語句對數(shù)據(jù)進行操作,使用批量語句的時候需要注意MySQL數(shù)據(jù)庫的條件限制,這里主要是數(shù)據(jù)的大小限制,這里對批量插入、批量查找及批量更新的基礎操作進行下簡單的匯總。
1、批量insert插入語句,如下的語句在測試環(huán)境嘗試過1W+的批量插入,具體數(shù)量跟表結(jié)構(gòu)及字段內(nèi)容有關系。
<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>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Mysql數(shù)據(jù)庫性能優(yōu)化之子查詢
這篇文章主要介紹了Mysql數(shù)據(jù)庫性能優(yōu)化之子查詢的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-01-01
MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路
最近遇到的一個問題,需要在一張將近1000萬數(shù)據(jù)量的表中添加加一個字段,但是直接添加會導致mysql 奔潰,所以需要利用其他的方法進行添加,這篇文章主要給大家介紹了MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路,需要的朋友可以參考借鑒。2017-01-01
navicat 8 創(chuàng)建數(shù)據(jù)庫與創(chuàng)建用戶分配權限圖文方法
navicat是一款不錯的圖形化管理mysql的工具,大家一般都是用phpmyadmin或直接命令行操作,對于不是很熟悉命令的朋友,就可以使用navicat這個工具了,方便操作。2011-04-04
mysql如何刪除數(shù)據(jù)表和關聯(lián)的數(shù)據(jù)表刪除詳情
這篇文章主要介紹了mysql如何刪除數(shù)據(jù)表和關聯(lián)的數(shù)據(jù)表刪除詳情,刪除數(shù)據(jù)表的時候,表的定義和表中所有的數(shù)據(jù)均會被刪除。因此,在進行刪除操作前,最好對表中的數(shù)據(jù)做一個備份,以免造成無法挽回的后果2022-07-07

