应用场景:使用 INSERT
语句向表中插入数据之后,有时却想要再更改数据,例如“将商品销售单价登记错了”等的时候,并不需要把数据删除之后再重新插入,使用 UPDATE
语句就可以改变表中的数据。
一、UPDATE
语句的基本语法
语法结构:
update(表名)
set (列名)=表达式
where (条件)
更新完成后可通过运行Select语句检验更新结果
二、用法
1、Null 清空
使用 UPDATE
语句可以将值清空为 NULL
(但只限于未设置 NOT NULL
约束的列)。例:将商品编号为 0008 的数据(圆珠笔)的登记日期更新为 NULL
UPDATE Product
SET regist_date = NULL
WHERE product_id = '0008';
2、多列更新
UPDATE
语句的 SET
子句支持同时将多个列作为更新对象,使用逗号对列进行分隔排列。例:UPDATE Product
SET sale_price = sale_price * 10, purchase_price = purchase_price / 2
WHERE product_type = '厨房用具';
例题:
现有员工获取到的奖金简表emp_bonus如下:
有员工薪资简表salaries如下
请你写出更新语句,将所有获取奖金的员工当前的(salaries.to_date='9999-01-01')薪水增加10%。
以上示例更新后的结果salaries为:
方法一:使用join连接两张表
update salaries as a join emp_bonus as b on a.emp_no=b.emp_no
set salary=salary*1.1
where to_date=
'9999-01-01'
方法二:使用select语句
update salaries
set salary=salary*1.1
where to_date=
'9999-01-01'and salaries.emp_no in(select
emp_no from emp_bonus)