Condividi tramite


TRUNCATE TABLE

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Rimuove tutte le righe da una tabella o da una o più partizioni. La tabella non deve essere una vista o una tabella esterna o temporanea. Per troncare più partizioni contemporaneamente, specificare le partizioni in partition_spec. Se non viene specificato alcun partition_spec valore, rimuove tutte le partizioni nella tabella.

Nota

Delta Lake non supporta le clausole di partizione per TRUNCATE.

Se la tabella viene memorizzata nella cache, il comando cancella i dati memorizzati nella cache della tabella e tutti i relativi dipendenti che vi fanno riferimento. La cache verrà riempita la prossima volta in cui si accede alla tabella o ai dipendenti.

Sintassi

TRUNCATE TABLE table_name [ PARTITION clause ]

Parametri

  • table_name

    Nome della tabella da troncare. Il nome non deve includere una specifica temporale o una specifica delle opzioni. Se la tabella non è stata trovata, Azure Databricks genera un errore TABLE_OR_VIEW_NOT_FOUND.

  • Clausola PARTITION

    Specifica facoltativa di una partizione. Non supportato per Delta Lake.

Esempi

-- Create table Student with partition
> CREATE TABLE Student (name STRING, rollno INT) PARTITIONED BY (age INT);

> SELECT * FROM Student;
 name rollno age
 ---- ------ ---
  ABC      1  10
  DEF      2  10
  XYZ      3  12

-- Remove all rows from the table in the specified partition
> TRUNCATE TABLE Student partition(age=10);

-- After truncate execution, records belonging to partition age=10 are removed
> SELECT * FROM Student;
 name rollno age
 ---- ------ ---
  XYZ      3  12

-- Remove all rows from the table from all partitions
> TRUNCATE TABLE Student;

> SELECT * FROM Student;
 name rollno age
 ---- ------ ---