在 SQL 中,按条件更新数据通常使用 UPDATE 语句配合 WHERE 子句来实现。
UPDATE 表名
SET 列1 = 新值1,
列2 = 新值2
WHERE 条件;
⚠️ 一定要加 WHERE,否则会更新整张表!
UPDATE users
SET status = 'active'
WHERE id = 1001;
含义:把 id = 1001 的用户状态改为 active
UPDATE users
SET status = 'disabled'
WHERE age > 60
AND status = 'active';
IN 条件UPDATE orders
SET is_paid = 1
WHERE order_id IN (101, 102, 103);
UPDATE products
SET price = price * 0.9
WHERE price BETWEEN 100 AND 500;
UPDATE employees
SET salary = salary + 500
WHERE department = 'IT';
UPDATE orders o
SET o.status = 'completed'
WHERE o.user_id IN (
SELECT id FROM users WHERE vip = 1
);
UPDATE table
SET col = value
WHERE condition
LIMIT 10; -- 可限制更新条数
UPDATE TOP (10) table
SET col = value
WHERE condition;
UPDATE table
SET col = value
WHERE condition
RETURNING *; -- 返回更新后的数据
SELECT * FROM users WHERE age > 60;
BEGIN;
UPDATE ...
-- 确认无误
COMMIT;
-- 出错可 ROLLBACK;
如果你有具体表结构或业务场景(比如“根据订单状态更新用户等级”),我可以直接帮你写 SQL。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。