PostgreSQL Delete语句
在本节中,我们将学习如何使用 PostgreSQL 中的 Delete 命令从特定表中删除数据。
DELETE 命令用于从表中删除所有现有记录。WHERE子句用于删除选定的记录,否则所有数据将被删除。
Delete命令句法
DELETE 命令的基本语法如下:
DELETE FROM table_name
WHERE [condition];
上述语法中使用了以下参数:
参数 | 描述 |
---|---|
table_name | 它用于在 DELETE FROM 子句中定义我们要从中删除数据的表。 |
Where子句 | WHERE 子句用于描述应删除哪些记录。如果我们忽略 WHERE 子句,表中的所有记录都将被删除。它是一个可选参数。 |
DELETE 命令返回删除的行数。如果没有删除任何行,Delete 命令将返回零。有时它可能与 WHERE 子句中的条件标识的行数不相似,因为表可能有 BEFORE DELETE 触发器。使用删除表中记录的命令时要谨慎。
以防万一,我们需要验证引用另一个表中的一个或多个列的条件,为此,我们可以使用USING 子句,如下所示:
DELETE FROM table
USING another_table
WHERE table.id = another_table.id AND
如果我们不需要使用USING 子句,我们可以使用子查询,如下面的命令所示:
DELETE FROM table
WHERE table.id = (SELECT id FROM another_table);
PostgreSQL Delete命令示例
在这里,我们将使用我们在PostgreSQL教程的PostgreSQL 插入命令部分创建的department 和 department_tmp表。
下面的命令将帮助我们显示部门表的记录:
SELECT * FROM department;
带 WHERE 子句的 PostgreSQL DELETE 示例
以下命令用于删除dept_id列中值为 6 的行:
DELETE FROM department
WHERE dept_id = 6;
执行上述命令后,会返回一条DELETE 1的消息,表示部门表中删除了一行。
如果department 表没有任何dept_id 为 7的行,则 DELETE 命令有效,并返回为DELETE 0。
热门文章
优秀文章