PostgreSQL TRUNCATE TABLE
PostgreSQL 中 TRUNCATE TABLE 用於刪除表的數據,但不刪除表結構。
也可以用 DROP TABLE 刪除表,但是這個命令會連表的結構一起刪除,如果想插入數據,需要重新建立這張表。
TRUNCATE TABLE 與 DELETE 具有相同的效果,但是由於它實際上並不掃描表,所以速度更快。 此外,TRUNCATE TABLE 可以立即釋放表空間,而不需要後續 VACUUM 操作,這在大型表上非常有用。PostgreSQL VACUUM 操作用於釋放、再利用更新/刪除行所佔據的磁片空間。
語法
TRUNCATE TABLE 基礎語法如下:
TRUNCATE TABLE table_name;
實例
創建 COMPANY 表(下載 COMPANY SQL 檔 ),數據內容如下:
zaixiandb# select * from 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)
下麵實例使用了 TRUNCATE TABLE 來清除 COMPANY 表:
zaixiandb=# TRUNCATE TABLE COMPANY;
得到結果如下:
zaixiandb=# SELECT * FROM CUSTOMERS; id | name | age | address | salary ----+------+-----+---------+-------- (0 rows)