MySQL select、insert、update批量操作語句代碼實例
項目中經(jīng)常的需要使用批量操作語句對數(shù)據(jù)進行操作,使用批量語句的時候需要注意MySQL數(shù)據(jù)庫的條件限制,這里主要是數(shù)據(jù)的大小限制,這里對批量插入、批量查找及批量更新的基礎(chǔ)操作進行下簡單的匯總。
1、批量insert插入語句,如下的語句在測試環(huán)境嘗試過1W+的批量插入,具體數(shù)量跟表結(jié)構(gòu)及字段內(nèi)容有關(guān)系。
<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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因2. 淺談數(shù)據(jù)庫日期類型字段設(shè)計應(yīng)該如何選擇3. MySql如何使用not in實現(xiàn)優(yōu)化4. MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程詳解5. oracle 使用雜記26. MySQL中文亂碼問題解決方案7. Microsoft Office Access隱藏和顯示字段的方法8. MySQL創(chuàng)始人發(fā)郵件尋求中國幫助9. Microsoft Office Access添加行的方法10. MYSQL(電話號碼,身份證)數(shù)據(jù)脫敏的實現(xiàn)
