SQL DML修改数据

SQL 使用 UPDATE 语句更新表中的数据,基本语法如下:

UPDATE t
   SET col1 = expr1,
       col2 = expr2,
       ...
[WHERE condition];

其中,t 是表名;SET 子句指定了需要更新的列和更新后的值,多个字段使用逗号进行分隔;只有满足 WHERE 条件的数据行才会被更新;如果没有指定条件,将会更新表中所有行。

以下语句将会更新 emp_devp 表中“赵云”的月薪和邮箱:

UPDATE emp_devp
   SET salary = salary + 1000,
       bonus = 8000
 WHERE emp_name = '赵云';

SELECT emp_name, salary, bonus
  FROM emp_devp
 WHERE emp_name = '赵云';

emp_name|salary  |bonus  |
--------|--------|-------|
赵云     |16000.00|8000.00|

“赵云”的月薪增加了 1000,奖金被修改为 8000。

和插入数据一样,更新数据时也会执行约束校验,确保不会产生违反约束的数据。

除了直接指定数据值之外,也可以通过一个关联子查询获取更新后的值:

UPDATE emp_devp
   SET email = (SELECT e.email
                  FROM employee e
                 WHERE e.emp_id = emp_devp.emp_id);

以上语句在 SET 子句中使用了一个关联子查询,将员工表中开发部门员工的电子邮箱更新到 emp_devp 表的对应记录中。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程