Freigeben über


TRUNCATE TABLE

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Entfernt alle Zeilen aus einer Tabelle oder Partitionen. Die Tabelle darf keine Sicht oder eine externe bzw. temporäre Tabelle sein. Um mehrere Partitionen gleichzeitig zu entfernen, geben Sie die Partitionen in partition_spec an. Wird partition_spec nicht angegeben, werden alle Partitionen in der Tabelle entfernt.

Hinweis

Delta Lake unterstützt keine Partitionsklauseln für TRUNCATE.

Wenn die Tabelle zwischengespeichert wurde, löscht der Befehl zwischengespeicherte Daten der Tabelle und alle abhängigen Daten, die darauf verweisen. Der Cache wird beim nächsten Zugriff auf die Tabelle oder die abhängigen Daten verzögert gefüllt.

Syntax

TRUNCATE TABLE table_name [ PARTITION clause ]

Parameter

  • table_name

    Der Name der zu kürzenden Tabelle. Der Name darf keine zeitliche Spezifikation oder Optionsspezifikation enthalten. Wenn die Tabelle nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.

  • PARTITION-Klausel

    Optionale Angabe einer Partition. Wird für Delta Lake nicht unterstützt.

Beispiele

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