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

例如,以下命令序列显示了删除部门 20 中所有员工之前和之后的结果。

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)

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;

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