温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL如何按条件更新数据

发布时间:2026-10-10 18:19:07 来源:亿速云 阅读:105 作者:小樊 栏目:编程语言

在 SQL 中,按条件更新数据通常使用 UPDATE 语句配合 WHERE 子句来实现。


一、基本语法

UPDATE 表名
SET 列1 = 新值1,
    列2 = 新值2
WHERE 条件;

⚠️ 一定要加 WHERE,否则会更新整张表!


二、常见示例

1️⃣ 按等于条件更新

UPDATE users
SET status = 'active'
WHERE id = 1001;

含义:把 id = 1001 的用户状态改为 active


2️⃣ 按多个条件更新

UPDATE users
SET status = 'disabled'
WHERE age > 60
  AND status = 'active';

3️⃣ 使用 IN 条件

UPDATE orders
SET is_paid = 1
WHERE order_id IN (101, 102, 103);

4️⃣ 按范围条件更新

UPDATE products
SET price = price * 0.9
WHERE price BETWEEN 100 AND 500;

5️⃣ 基于另一列计算更新

UPDATE employees
SET salary = salary + 500
WHERE department = 'IT';

6️⃣ 按子查询条件更新

UPDATE orders o
SET o.status = 'completed'
WHERE o.user_id IN (
    SELECT id FROM users WHERE vip = 1
);

三、不同数据库的小差异

MySQL

UPDATE table
SET col = value
WHERE condition
LIMIT 10;   -- 可限制更新条数

SQL Server

UPDATE TOP (10) table
SET col = value
WHERE condition;

PostgreSQL

UPDATE table
SET col = value
WHERE condition
RETURNING *;   -- 返回更新后的数据

四、安全建议 ✅

  1. 先 SELECT 确认条件
SELECT * FROM users WHERE age > 60;
  1. 使用事务(重要)
BEGIN;
UPDATE ...
-- 确认无误
COMMIT;
-- 出错可 ROLLBACK;
  1. 更新前备份数据

如果你有具体表结构或业务场景(比如“根据订单状态更新用户等级”),我可以直接帮你写 SQL。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手