MySQL中的批量操作(修改,插入)

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

  • 所以我們可以使用編寫 SQL 批量修改的方式去操作數據庫

  • 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 表時,我們需要根據 id 去修改 remarks 和 retail_unit_price ,我們可以採用 CASE WHEN 的方式,去修改數據

  • 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 表的數據時,我們需要將 user_info 的數據查詢出來,在插入到 user_info_backup 表中

如您在閱讀中發現不足,歡迎留言!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章