TRUNCATE TABLE

S’applique à : case marquée oui Databricks SQL case marquée oui Databricks Runtime

Supprime toutes les lignes d’une table ou d’une ou plusieurs partitions. La table ne doit pas être une vue ou une table externe ou temporaire. Pour tronquer plusieurs partitions simultanément, spécifiez les partitions dans partition_spec. Si aucune valeur partition_spec n’est spécifiée, supprime toutes les partitions de la table.

Notes

Delta Lake ne prend pas en charge les clauses de partition pour TRUNCATE.

Si la table est mise en cache, la commande efface les données mises en cache de la table et tous ses dépendants qui y font référence. Le cache est rempli de manière différée lors de l’accès suivant à la table ou aux dépendants.

Syntaxe

TRUNCATE TABLE table_name [ PARTITION clause ]

Paramètres

  • table_name

    Nom de la table à tronquer. Le nom ne doit pas inclure de spécification temporelle ou de spécification d’options. Si la table est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.

  • Clause PARTITION

    Spécification facultative d’une partition. Non pris en charge pour Delta Lake.

Exemples

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