✏️ MySQL 更新数据
UPDATE 语句概述
UPDATE 语句用于修改表中现有的记录。MySQL 提供了灵活的更新语法,支持单表更新、多表更新、条件更新等多种操作方式。
基本 UPDATE 语法
-- 基本语法
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
-- 更新单个字段
UPDATE users SET age = 26 WHERE id = 1;
-- 更新多个字段
UPDATE users
SET age = 26, city = 'Shanghai', updated_at = NOW()
WHERE id = 1;
条件更新
-- 基于条件的批量更新
UPDATE products
SET price = price * 0.9
WHERE category_id = 1 AND stock_quantity > 0;
-- 使用子查询更新
UPDATE users
SET status = 'vip'
WHERE id IN (
SELECT user_id FROM orders
GROUP BY user_id
HAVING SUM(total_amount) > 10000
);
多表更新
-- 多表 UPDATE
UPDATE users u
JOIN orders o ON u.id = o.user_id
SET u.last_order_date = o.created_at
WHERE o.created_at = (
SELECT MAX(created_at)
FROM orders o2
WHERE o2.user_id = u.id
);
📋 最佳实践
- 安全性:确保操作的安全性和数据完整性
- 性能:考虑操作对数据库性能的影响
- 备份:重要操作前做好数据备份
- 测试:在生产环境前充分测试
- 监控:监控操作的执行情况