删除

通过DELETE命令,可从表中删除行。

示例

  • 以下示例显示了删除部门20中所有员工之前和之后的结果。

    1. 示例数据库上,查询emp中的所有部门及其员工:

      SELECT ename, deptno FROM emp;

      返回结果如下:

       ename  | deptno
      --------+--------
       SMITH  |     20
       ALLEN  |     30
       WARD   |     30
       JONES  |     20
       MARTIN |     30
       BLAKE  |     30
       CLARK  |     10
       SCOTT  |     20
       KING   |     10
       TURNER |     30
       ADAMS  |     20
       JAMES  |     30
       FORD   |     20
       MILLER |     10
      (14 rows)
    2. 删除部门20中所有员工:

      DELETE FROM emp WHERE deptno = 20;

      查询删除后的部门及其员工:

      SELECT ename, deptno FROM emp;

      返回结果如下:

       ename  | deptno
      --------+--------
       ALLEN  |     30
       WARD   |     30
       MARTIN |     30
       BLAKE  |     30
       CLARK  |     10
       KING   |     10
       TURNER |     30
       JAMES  |     30
       MILLER |     10
      (9 rows)
  • 在执行不带WHERE子句的DELETE命令(如下所示)时,要非常小心:

    DELETE FROM tablename;

    此语句会删除给定表中的所有行,使该表完全为空。且在执行此操作之前,系统不会请求确认。请谨慎操作。