English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PostgreSQL TRUNCATE TABLE

PostgreSQL 中 TRUNCATE TABLE 用于删除表的数据,但不删除表结构。

È anche possibile eliminare la tabella utilizzando DROP TABLE, ma questo comando eliminerà anche la struttura della tabella. Se si desidera inserire dati, è necessario ricostruire la tabella.

TRUNCATE TABLE ha lo stesso effetto di DELETE, ma è più veloce poiché non scansiona effettivamente la tabella. Inoltre, TRUNCATE TABLE può liberare lo spazio di tabella immediatamente, senza la necessità di ulteriori operazioni VACUUM, il che è molto utile per tabelle di grandi dimensioni.

L'operazione VACUUM di PostgreSQL viene utilizzata per liberare e riutilizzare lo spazio su disco occupato dalle righe aggiornate o eliminate.

Sintassi

La sintassi di base di TRUNCATE TABLE è la seguente:

TRUNCATE TABLE table_name;

Esempio online

Crea la tabella COMPANY (Scarica il file SQL della tabella COMPANY ),i dati contenuti sono i seguenti:

w3codeboxdb# 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 righe)

Di seguito è riportato un esempio che utilizza TRUNCATE TABLE per cancellare la tabella COMPANY:

w3codeboxdb=# TRUNCATE TABLE COMPANY;

Risultati ottenuti di seguito:

w3codeboxdb=# SELECT * FROM CUSTOMERS;
 id | name | age | address | salary
----+------+-----+---------+--------
(0 righe)