扫码一下
查看教程更方便
postgresql 中 truncate table 用于删除表的数据。它仅仅是删除表中的数据,但是不会删除表。
也可以使用 drop table 命令删除完整的表,但它会从数据库中删除完整的表结构,如果您希望存储一些数据,则需要再次重新创建该表。
truncate table 与 delete 具有相同的效果,但是由于它实际上并不扫描表,所以速度更快。 此外,truncate table 可以立即释放表空间,而不需要后续 vacuum 操作,这在大型表上非常有用。
postgresql vacuum 操作用于释放、再利用更新/删除行所占据的磁盘空间。
truncate table 基础语法如下:
truncate table table_name;
创建 ,数据内容如下:
jiyik_db=# 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 表:
jiyik_db=# truncate table company;
使用truncate 删除表中数据之后,通过 select查询的结果如下:
id | name | age | address | salary
---- ------ ----- --------- --------
(0 rows)