PostgreSQL - TRUNCATE TABLE 命令

  • 简述

    PostgreSQLTRUNCATE TABLE命令用于从现有表中删除完整数据。您也可以使用 DROP TABLE 命令删除完整的表,但它会从数据库中删除完整的表结构,如果您希望存储一些数据,则需要再次重新创建该表。
    它对每个表都具有与 DELETE 相同的效果,但由于它实际上并不扫描表,因此速度更快。此外,它会立即回收磁盘空间,而不需要后续的 VACUUM 操作。这在大表上最有用。
  • 句法

    的基本语法TRUNCATE TABLE如下 -
    
    TRUNCATE TABLE  table_name;
    
  • 例子

    考虑 COMPANY 表有以下记录 -
    
     id | name  | age | address    | salary
    ----+-------+-----+------------+--------
      1 | Paul  |  32 | California |  20000
      2 | Allen |  25 | Texas      |  15000
      3 | Teddy |  23 | Norway     |  20000
      4 | Mark  |  25 | Rich-Mond  |  65000
      5 | David |  27 | Texas      |  85000
      6 | Kim   |  22 | South-Hall |  45000
      7 | James |  24 | Houston    |  10000
    (7 rows)
    
    以下是截断的示例 -
    
    testdb=# TRUNCATE TABLE COMPANY;
    
    现在,COMPANY 表被截断,以下是 SELECT 语句的输出 -
    
    testdb=# SELECT * FROM CUSTOMERS;
     id | name | age | address | salary
    ----+------+-----+---------+--------
    (0 rows)