SQL 更新记录

SQL 更新记录,你想更新一个表的部分记录或者全部记录。例如,你可能希望为部门编号为 20 的员工统一加薪 10%。下面的结果集显示了那个部门全部员工的 DEPTNOENAMESAL

SQL 更新记录 问题描述

你想更新一个表的部分记录或者全部记录。例如,你可能希望为部门编号为 20 的员工统一加薪 10%。下面的结果集显示了那个部门全部员工的 DEPTNOENAMESAL

select deptno,ename,sal
  from emp
 where deptno = 20
 order by 1,3
 
DEPTNO ENAME             SAL
------ ---------- ----------
    20 SMITH             800
    20 ADAMS            1100
    20 JONES            2975
    20 SCOTT            3000
    20 FORD             3000

你希望把所有 SAL 值都提高 10%。

SQL 更新记录 解决方案

使用 UPDATE 语句更新已有数据。例如:

1 update emp
2     set sal = sal*1.10
3  where deptno = 20

SQL 更新记录 扩展知识

使用 UPDATE 语句和 WHERE 子句来指定哪些行将被更新。如果省略 WHERE 子句,那么全部行都会被更新。上述解决方案里的表达式 SAL*1.10 返回增加 10% 后的工资。
在大规模数据更新之前,你可能希望先预览结果。可以通过提交一个 SELECT 语句,并把计划放入 SET 子句的表达式包含进 SELECT 语句来实现预览。下面的 SELECT 语句显示了工资增加 10% 后的结果。

select deptno,
       ename,
       sal      as orig_sal,
       sal*.10  as amt_to_add,
       sal*1.10 as new_sal
   from emp
  where deptno=20
  order by 1,5
 
DEPTNO ENAME  ORIG_SAL AMT_TO_ADD NEW_SAL
------ ------ -------- ---------- -------
    20 SMITH       800         80     880
    20 ADAMS      1100        110    1210
    20 JONES      2975        298    3273
    20 SCOTT      3000        300    3300
    20 FORD       3000        300    3300

工资的增加被分为两列:一列显示实际增加值,另一列显示增加后的工资。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程