TRUNCATE TABLE
Область применения: Databricks SQL Databricks Runtime
Удаляет все строки из таблицы или разделов. Таблица не должна быть представлением, внешней или временной таблицей. Чтобы выполнить усечение нескольких разделов одновременно, укажите их в partition_spec
. Если partition_spec
не указаны, будут удалены все разделы в таблице.
Примечание.
Delta Lake не поддерживает предложения секций для TRUNCATE
.
Если таблица кэшируется, команда очищает кэшированные данные таблицы и все зависимые от нее параметры. Кэш будет медленно заполняться при следующем обращении к таблице или зависимостям.
Синтаксис
TRUNCATE TABLE table_name [ PARTITION clause ]
Параметры
-
Имя таблицы для усечения. Имя не должно включать темпоральную спецификацию или спецификацию параметров. Если не удается найти таблицу Azure Databricks, возникает ошибка TABLE_OR_VIEW_NOT_FOUND .
-
Необязательная спецификация раздела. Не поддерживается для Delta Lake.
Примеры
-- 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
---- ------ ---