【数据库】sql的update语句怎么使用?

UPDATE 用来修改表中已有行的字段值,最关键的是一定写好 WHERE,否则会更新全表。

基本语法

sql 复制代码
UPDATE 表名
SET 列1 = 值1,
    列2 = 值2
WHERE 条件;

常见用法

1) 按条件更新某些行

sql 复制代码
UPDATE users
SET status = 'active'
WHERE id = 1001;

2) 同时更新多个列

sql 复制代码
UPDATE orders
SET pay_status = 'paid',
    paid_at = NOW()
WHERE order_no = 'A20260225';

3) 用原值计算更新(自增/拼接等)

sql 复制代码
UPDATE products
SET stock = stock - 1
WHERE id = 10 AND stock > 0;

4) 用子查询更新

sql 复制代码
UPDATE employees
SET dept_id = (SELECT id FROM dept WHERE name = '研发')
WHERE dept_id IS NULL;

5) 关联更新(不同数据库写法略不同)

MySQL

sql 复制代码
UPDATE a
JOIN b ON b.id = a.b_id
SET a.col = b.col
WHERE a.flag = 1;

PostgreSQL

sql 复制代码
UPDATE a
SET col = b.col
FROM b
WHERE b.id = a.b_id AND a.flag = 1;

安全小建议

  • 先用同样的 WHERE 跑一遍:
sql 复制代码
SELECT * FROM 表名 WHERE 条件;
  • 或先 BEGIN; 更新后检查再 COMMIT;(支持事务的库)。
相关推荐
睡不醒男孩0308234 小时前
第二篇:深入探索开源数据库高可用:构建基于CLup的PostgreSQL生产级高可用与读写分离架构
数据库·postgresql·开源·clup
Micro麦可乐7 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
码农阿豪7 小时前
从零到一:Spring Boot快速接入金仓数据库实战
数据库·spring boot·后端
鼎讯信通7 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
三十..7 小时前
MySQL 从入门到高可用架构实战精要
运维·数据库·mysql
cfm_29148 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
真实的菜9 小时前
Redis 从入门到精通(十二):典型业务场景实战 —— 排行榜、限流器、秒杀系统、Session 共享
数据库·redis·python
你想考研啊9 小时前
mysql数据库导出导入
数据库·mysql·oracle
十年编程老舅10 小时前
Linux DRM:底层逻辑与实践架构
数据库·mysql
The Sheep 202310 小时前
Vue复习
linux·服务器·数据库