数据库学习(16)MySQL数据库DML——UPDATE语句

文章详细介绍了MySQL数据库中的UPDATE语句,包括其基本语法、使用方法及不同类型的表连接应用。提供了多个实战示例,如更新记录、使用ORDERBY和LIMIT子句,以及内外连接更新多张表。重点讨论了如何通过表连接提高UPDATE语句的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UPDATE语句简介

  • UPDATE语句用于修改表的记录

UPDATE语句使用方法:

UPDATE [IGNORE] 表名
SET 字段1=1, 字段2=2, ......
[WHERE 条件1 ......]
[ORDER BY BY ......]
[LIMIT ......];

UPDATE语句练习1

把每个员工的编号和上司的编号+1,用ORDER BY子句完成

UPDATE t_emp SET empno=empno+1,mgr=mgr+1
ORDER BY empno DESC;

UPDATE语句练习2

把月收入前三名的员工底薪减100元,用LIMIT子句完成

UPDATE t_emp
SET sal=sal-100
ORDER BY sal+IFNULL(comm,0) DESC
LIMIT 3;

UPDATE语句的表连接

  • 因为相关子查询效率非常低,所以我们可以利用表连接的方式来改造UPDATE语句

UPDATE语句的表连接使用方法:

UPDATE1 JOIN2 ON 条件
SET 字段1=1, 字段2=2, ......;
  • 表连接的UPDATE语句可以修改多张表的记录

UPDATE语句练习3

把ALLEN调往RESEARCH部门,职务调整为ANALYST

UPDATE t_emp e JOIN t_dept d 
SET e.deptno=d.deptno,e.job="",d.loc="北京"
WHERE e.ename="ALLEN" AND d.dname="RESEARCH";

UPDATE语句练习4(UPDATE内连接)

把底薪低于公司平均底薪的员工,底薪增加150元

UPDATE t_emp e JOIN
(SELECT AVG(sal) AS avg FROM t_emp) t
ON e.sal<t.avg
SET e.sal=e.sal+150;

UPDATE语句的外连接

  • UPDATE语句的表连接既可以是内连接,又可以是外连接
    UPDATE语句的外连接使用方法:
UPDATE1 [LEFT|RIGHT] JOIN2 ON 条件
SET 字段1=1, 字段2=2, ......;

UPDATE语句练习5(UPDATE外连接)

把没有部门的员工,或者SALES部门低于2000元底薪的员工,都调往20部门

UPDATE t_emp e JOIN t_dept d ON e.deptno=d.deptno
SET e.deptno=20
WHERE e.deptno IS NULL OR (d.dname="SALES" AND e.sal<2000);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值