Oracle
目录
数据修改
将员工编号的 7369 的员工工资修改为 810,佣金改为 100
将工资最低的员工工资修改为公司的平均工资
将所有在 1981 年雇佣的员工的雇佣日期修改为今天,工资增长 20%
数据的更新操作
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
数据修改
用户可以对数据表中的已有数据进行更新操作,这就是修改任务
update 表名称 set 字段 = 内容 , 字段 = 内容 ,.... [where 更新条件 (s)]
语法中 where语句是可选项,如果没有则更新所有记录
将员工编号的 7369 的员工工资修改为 810,佣金改为 100
SQL> update myemp set sal=810,comm=100 where empno=7369;
已更新 1 行。
使用 where子句限制修改的记录为 empno=7369
将工资最低的员工工资修改为公司的平均工资
SQL> update myemp set sal=(select avg(sal) from myemp)
2 where sal=(select min(sal) from myemp);
已更新 1 行。
前面介绍的子查询“(SELECT MIN(sal) FROM myemp)”先查询出最低工资
然后再使用“(SELECT AVG(sal) FROM myemp)”把这些工资最低的员工的工资更改为平均工资
通过使用 SELECT 语句,查询更新结果
SQL> select * from myemp where empno=7369;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 2077.92 100 20
将所有在 1981 年雇佣的员工的雇佣日期修改为今天,工资增长 20%
SQL> update myemp set hiredate=SYSDATE,sal=sal*1.2
2 where hiredate between '01-1月-1981' AND '31-12月-1981';
已更新 10 行。
如果在更新的过程中并没有设置更新条件,那么将更新全部数据
数据的更新操作
update myemp set comm=null;
如果不增加更新条件,最终的结果就是表中的记录全都要被更新,但是不建议使用这种全部更新的操作