TRUNCATE TABLE

Область применения:отмечено галочкой «Да» Databricks SQL отмечено галочкой «Да» Databricks Runtime

Удаляет все строки из таблицы или секций. Стол не должен быть видом или временным столом. Таблицы Дельта-Лейк можно урезать как управляемые, так и внешние. Для других форматов таблиц, таких как Parquet, CSV или ORC, таблица не должна быть внешней. Чтобы урезать несколько разделов одновременно, закажите разделы в 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
 ---- ------ ---