在日常數據庫維護中,批量修改字段值是常見的操作需求。相比逐條更新,批量操作能顯著提升效率并降低系統(tǒng)負載。本文將介紹幾種實用的MySQL批量更新方法。
通過CASE條件判斷實現不同記錄的不同值更新:
UPDATE users
SET status = CASE
WHEN age < 18 THEN 'minor'
WHEN age BETWEEN 18 AND 65 THEN 'adult'
ELSE 'senior'
END;
結合子查詢實現關聯(lián)數據的批量更新:
UPDATE products p
INNER JOIN suppliers s ON p.supplier_id = s.id
SET p.price = p.price * 1.1
WHERE s.region = 'Asia';
對于復雜的批量更新需求,可先創(chuàng)建臨時表:
CREATE TEMPORARY TABLE temp_updates (
id INT PRIMARY KEY,
new_value VARCHAR(255)
);
-- 插入需要更新的數據
INSERT INTO temp_updates VALUES (1,'value1'), (2,'value2');
-- 執(zhí)行批量更新
UPDATE main_table m
JOIN temp_updates t ON m.id = t.id
SET m.target_field = t.new_value;
掌握這些批量更新技巧,將幫助您更高效地完成數據庫維護工作,提升系統(tǒng)性能。