PostgreSQL Delete2025年3月17日 | 阅读 3 分钟 在本节中,我们将学习如何使用 PostgreSQL 中的 Delete 命令从特定表中删除数据。 DELETE 命令用于从表中删除所有现有记录。而 WHERE 子句 用于删除选定的记录,否则,所有数据将被删除。 注意:TRUNCATE 命令提供了一种更快的技术来删除表中的所有行。语法DELETE 命令的基本语法如下: 以下参数用于上述语法:
DELETE 命令返回已删除的行数。如果未删除任何行,则 Delete 命令将返回零。有时,它可能与 WHERE 子句中标识的行数不相似,因为表可能有一个 BEFORE DELETE 触发器。我们在使用该命令删除表中的记录时应该小心谨慎。 如果我们需要验证引用另一个表中一个或多个列的条件,那么,我们可以使用下面的 USING 子句 如果我们不需要使用 USING 子句,我们可以使用子查询,如下面的命令所示 PostgreSQL Delete 命令示例在这里,我们将使用在 PostgreSQL 教程的 PostgreSQL insert 命令部分中创建的 department 和 department_tmp 表。 下面的命令将帮助我们显示 department 表的记录 ![]() 使用 WHERE 子句的 PostgreSQL DELETE 示例下面的命令用于删除 dept_id 列中的值为 6 的行 ![]() 执行上述命令后,它将返回一条消息 DELETE 1,这意味着从 department 表中删除了一行。 注意:如果我们不使用 WHERE 子句,则所有记录将被删除。并且如果 department 表没有任何带有 dept_id 7 的行,则 DELETE 命令将不起作用,并返回 DELETE 0。 例如 ![]() PostgreSQL DELETE USING 命令示例如果我们想从 department 表中删除在 department_tmp 表中具有 dept_id 列值的行,我们需要遵循以下过程 步骤 1 首先,我们将通过以下命令查看 department_tmp 表数据 执行上述命令后,我们将看到 department_tmp 的表结构。 ![]() 步骤 2 然后,我们将使用下面的 delete 命令并借助 USING 条件来删除 department 表中的行 步骤 3 最后,我们将查询 department 表以检查删除操作是否正常工作。 PostgreSQL 删除表中的所有行在此示例中,我们未在下面的 DELETE 命令中使用 WHERE 条件来删除 department 表中的所有行 正如我们在下图中看到的那样,department 表现在是空的。 ![]() 之后,我们将使用 DELETE 命令的返回条件来删除 department_tmp 表中的所有行并返回已删除的行 ![]() |
我们请求您订阅我们的新闻通讯以获取最新更新。