欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中的批量修改、插入操作數(shù)據(jù)庫

 更新時間:2023年09月18日 09:48:41   作者:Asurplus  
在平常的項目中,我們會需要批量操作數(shù)據(jù)庫的時候,例如:批量修改,批量插入,那我們不應該使用 for 循環(huán)去操作數(shù)據(jù)庫,這樣會導致我們反復與數(shù)據(jù)庫發(fā)生連接和斷開連接,影響性能和增加操作時間,所以可以使用SQL 批量修改的方式去操作數(shù)據(jù)庫,感興趣的朋友一起學習下吧

在平常的項目中,我們會需要批量操作數(shù)據(jù)庫的時候,例如:批量修改,批量插入,那我們不應該使用 for 循環(huán)去操作數(shù)據(jù)庫,這樣會導致我們反復與數(shù)據(jù)庫發(fā)生連接和斷開連接,影響性能和增加操作時間

所以我們可以使用編寫 SQL 批量修改的方式去操作數(shù)據(jù)庫

1、批量修改

UPDATE check_order_pl_detail
SET remarks =
CASE
        id
        WHEN 1 THEN '備注1'
        WHEN 2 THEN '備注2'
    END,
    retail_unit_price =
CASE
        id
        WHEN 1 THEN 100
        WHEN 2 THEN 200
    END
WHERE
    id IN ( 1, 2 )

我們去修改 check_order_pl_detail 表時,我們需要根據(jù) id 去修改 remarks 和 retail_unit_price ,我們可以采用 CASE WHEN 的方式,去修改數(shù)據(jù)

2、批量插入

INSERT INTO user_info_backup ( `name`, age, sex, log_time) 
SELECT
    `name`,
    age,
    sex,
    DATE_SUB( curdate( ), INTERVAL 1 DAY ) AS log_time
FROM
    user_info

當我們在備份 user_info 表的數(shù)據(jù)時,我們需要將 user_info 的數(shù)據(jù)查詢出來,在插入到 user_info_backup 表中

補充:

mysql 批量新增,修改

<strong>批量新增</strong>
<insert id="insertList">
  insert into sea_user (id, username,`time`)
  values
  <foreach collection="list" item="item" index="index" separator=",">
    (replace(uuid(),"-",""), #{item.username}, #{item.time})
  </foreach>
</insert>

注釋

list  傳過來的集合對象

item="item"  "item"?遍歷的集合中的每個對象
---------------------------------------------------------------------------------------------------------
<strong>新增返回主鍵id (useGeneratedKeys="true" keyProperty="id")</strong>
<insert id="insert" parameterType="com.mmall.pojo.Shipping" useGeneratedKeys="true" keyProperty="id">
  insert into mmall_shipping (id, user_id, receiver_name, 
    receiver_phone, receiver_mobile, receiver_province, 
    receiver_city, receiver_district, receiver_address, 
    receiver_zip, create_time, update_time
    )
  values (#{id,jdbcType=INTEGER}, #{userId,jdbcType=INTEGER}, #{receiverName,jdbcType=VARCHAR}, 
    #{receiverPhone,jdbcType=VARCHAR}, #{receiverMobile,jdbcType=VARCHAR}, #{receiverProvince,jdbcType=VARCHAR}, 
    #{receiverCity,jdbcType=VARCHAR}, #{receiverDistrict,jdbcType=VARCHAR}, #{receiverAddress,jdbcType=VARCHAR}, 
    #{receiverZip,jdbcType=VARCHAR}, now(), now()
    )
</insert>
---------------------------------------------------------------------------------------------------------
<strong>批量修改
list  - 傳過來的數(shù)據(jù)集合,使用注解
goods_id 表中數(shù)據(jù)
goodsId 對應的實體類屬性
</strong>
<update id="updateBatchStock">
  update
    goods
  set
    goods_stock =
    <foreach collection="list" item="item" index="index" separator=" " open="case goods_id" close="end">
        when #{item.goodsId} then goods_stock - #{item.quantity}
    </foreach>
    ,goods_sales_quantity =
    <foreach collection="list" item="item" index="index" separator=" " open="case goods_id" close="end">
        when #{item.goodsId} then goods_sales_quantity + #{item.quantity}
    </foreach>
    where goods_id in
    <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
        #{item.goodsId}
    </foreach>
</update>

到此這篇關于MySQL中的批量操作(修改,插入)的文章就介紹到這了,更多相關MySQL批量修改內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Ubuntu 設置開放 MySQL 服務遠程訪問教程

    Ubuntu 設置開放 MySQL 服務遠程訪問教程

    這篇文章主要介紹了Ubuntu 設置開放 MySQL 服務遠程訪問教程,需要的朋友可以參考下
    2014-10-10
  • MySQL 5.7之關于SQL_MODE的設置

    MySQL 5.7之關于SQL_MODE的設置

    這篇文章主要介紹了MySQL 5.7之關于SQL_MODE的設置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mysql 表索引的一些要點

    mysql 表索引的一些要點

    這篇文章主要介紹了mysql 表索引的一些注意事項,mysql默認優(yōu)化不如sqlserver,所以需要優(yōu)化,而一些成熟的cms為了利益,也不會幫大家數(shù)據(jù)庫優(yōu)化的很好,需要自己另外設置
    2013-11-11
  • MySQL如何根據(jù)不同條件聯(lián)查不同表的數(shù)據(jù)if/case

    MySQL如何根據(jù)不同條件聯(lián)查不同表的數(shù)據(jù)if/case

    這篇文章主要介紹了MySQL如何根據(jù)不同條件聯(lián)查不同表的數(shù)據(jù)if/case問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mysql高效導數(shù)據(jù)的方法講解

    mysql高效導數(shù)據(jù)的方法講解

    模擬現(xiàn)網(wǎng)測試,需要搭建測試環(huán)境,導入上億級的數(shù)據(jù)到數(shù)據(jù)庫。對于到的問題做些簡單記錄,有需要的朋友可以參考一下
    2013-09-09
  • mysql中怎樣使用合適的字段和字段長度

    mysql中怎樣使用合適的字段和字段長度

    這篇文章主要介紹了mysql中怎樣使用合適的字段和字段長度問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySQL操作數(shù)據(jù)庫和表的常用命令新手教程

    MySQL操作數(shù)據(jù)庫和表的常用命令新手教程

    這篇文章主要介紹了MySQL操作數(shù)據(jù)庫和表的常用命令新手教程,本文總結的命令都是控制mysql必須掌握的、常用的命令,需要的朋友可以參考下
    2014-09-09
  • MySQL命令提示符出現(xiàn)輸入錯誤時如何修改前面的命令

    MySQL命令提示符出現(xiàn)輸入錯誤時如何修改前面的命令

    本文主要介紹了MySQL命令提示符出現(xiàn)輸入錯誤時如何修改前面的命令,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • mysql5.7.25使用全文檢索功能的實例教程

    mysql5.7.25使用全文檢索功能的實例教程

    其實全文檢索在MySQL里面很早就支持了,下面這篇文章主要給大家介紹了關于mysql5.7.25使用全文檢索功能的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • 三十分鐘MySQL快速入門(圖解)

    三十分鐘MySQL快速入門(圖解)

    通過分享本文帶領大家三十分鐘入門mysql,包括sql的基礎知識,creat語法知識,非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11

最新評論