Поделиться через


TRUNCATE TABLE

Область применения:флажок Databricks SQL флажок Databricks Runtime

Удаляет все строки из таблицы или секций. Таблица не должна быть представлением или внешней или временной таблицей. Чтобы выполнить усечение нескольких разделов одновременно, укажите их в partition_spec. Если partition_spec не задано, удаляет все секции в таблице.

Примечание.

Delta Lake не поддерживает условия секций для TRUNCATE.

Если таблица кэшируется, команда очищает кэшированные данные таблицы и все зависимые от нее данные. Кэш будет заполнен по мере необходимости, при следующем обращении к таблице или зависимым.

Синтаксис

TRUNCATE TABLE table_name [ PARTITION clause ]

Параметры

Примеры

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