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 表的对应记录中。

赞(1)
未经允许不得转载:极客笔记 » SQL DML修改数据
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址