📜  PostgreSQL – 截断表

📅  最后修改于: 2022-05-13 01:57:15.790000             🧑  作者: Mango

PostgreSQL – 截断表

PostgreSQL 支持 TRUNCATE TABLE 语句来快速删除大表中的所有数据。要从表中删除所有数据,请使用 DELETE 语句。但是,对于大表,使用 TRUNCATE TABLE 语句效率更高。 TRUNCATE TABLE 语句从表中删除所有行而不扫描它。这就是它比 DELETE 语句更快的原因。此外,TRUNCATE TABLE 语句会立即回收存储,因此用户不必执行后续的 VACUUM 操作,这在大表的情况下非常有用。

Syntax: TRUNCATE TABLE table_name;

示例 1:
在我们的数据库中,我们已经有一个包含数据的表animals 。让我们使用以下语句检查它是否有任何数据:

SELECT * FROM animals;

它显示了以下结果:

现在我们将使用以下语句从表中删除所有数据:

TRUNCATE TABLE animals;

现在我们使用以下语句验证删除是否完成:

SELECT * FROM animals;

输出:



示例 2:
在我们的数据库中,我们已经有一个名为galaxy数据表。让我们使用以下语句检查它是否有任何数据:

SELECT * FROM galaxy;

它显示了以下结果:

现在我们将使用以下语句从表中删除所有数据:

TRUNCATE TABLE galaxy;

现在我们使用以下语句验证删除是否完成:

SELECT * FROM galaxy;

输出: