PostgreSQL截断表(TRUNCATE TABLE语句)从现有表中删除完整的数据

2018-09-1713:44:43数据库教程Comments2,700 views字数 712阅读模式

PostgreSQL TRUNCATE TABLE命令用于从现有表中删除完整的数据。您也可以使用DROP TABLE命令删除完整的表,但会从数据库中删除完整的表结构,如果希望存储某些数据,则需要重新创建此表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4956.html

它和在每个表上使用DELETE语句具有相同的效果,但由于实际上并不扫描表,所以它的速度更快。 此外,它会立即回收磁盘空间,而不需要后续的VACUUM操作。 这在大表上是最有用的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4956.html

语法:
TRUNCATE TABLE的基本语法如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4956.html

TRUNCATE TABLE  table_name;
SQL

示例

考虑一个表 - Company 有以下记录:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4956.html

 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)
SQL

以下是截断的示例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4956.html

yiibai_db=# TRUNCATE TABLE COMPANY;
SQL

现在,COMPANY表被截断,以下是执行SELECT语句输出:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4956.html

yiibai_db=# SELECT * FROM COMPANY;
 id | name | age | address | salary
----+------+-----+---------+--------
(0 rows)
SQL

从以上查询结果可以知道,COMPANY表中已经没有了数据记录了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4956.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/4956.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定