TRUNCATE-TABLE
Описание
Эта инструкция используется для очистки данных указанной таблицы и партиции.
Синтаксис
TRUNCATE TABLE [<db_name>.]<table_name>[ PARTITION ( <partition_name1> [, <partition_name2> ... ] ) ];
Обязательные параметры
1.<db_name>
Задаёт идентификатор (имя) базы данных.
Идентификаторы должны начинаться с буквы (или любого символа соответствующего языка, если включена поддержка имён в unicode) и не могут содержать пробелы или специальные символы, если вся строка идентификатора не заключена в обратные кавычки (например,
My Database).В качестве идентификаторов нельзя использовать зарезервированные ключевые слова.
Подробнее см. разделы «Требования к идентификаторам» и «Зарезервированные ключевые слова».
2.<table_name>
Задаёт идентификатор (имя) таблицы, который должен быть уникальным в пределах базы данных, в которой находится таблица.
Идентификаторы должны начинаться с буквы (или любого символа соответствующего языка, если включена поддержка имён в unicode) и не могут содержать пробелы или специальные символы, если вся строка идентификатора не заключена в обратные кавычки (например,
My Object).В качестве идентификаторов нельзя использовать зарезервированные ключевые слова.
Подробнее см. разделы «Требования к идентификаторам» и «Зарезервированные ключевые слова».
Необязательные параметры
1.<partition_name>
Задаёт идентификатор (имя) партиции.
Идентификаторы должны начинаться с буквы (или любого символа соответствующей письменности, если включена поддержка имён в unicode) и не могут содержать пробелы или специальные символы, если вся строка идентификатора не заключена в обратные кавычки (например,
My Object).В качестве идентификаторов нельзя использовать зарезервированные ключевые слова.
Подробнее см. разделы «Требования к идентификаторам» и «Зарезервированные ключевые слова».
Требования к правам доступа
Пользователь, выполняющий эту команду SQL, должен иметь как минимум следующие права:
| Право | Объект | Примечания |
|---|---|---|
| Drop_priv | Таблица | TRUNCATE TABLE относится к операциям DROP для таблиц |
Примечания по использованию
- Эта инструкция очищает данные, но сохраняет таблицу или партицию.
- В отличие от DELETE, эта инструкция позволяет очистить указанную таблицу или партицию только целиком и не поддерживает условия фильтрации.
- В отличие от DELETE, очистка данных таким способом не влияет на производительность запросов.
- Данные, удалённые этой операцией, невозможно восстановить.
- При выполнении этой команды таблица должна находиться в состоянии NORMAL, то есть такие операции, как SCHEMA CHANGE, не допускаются.
- Эта команда может привести к сбою выполняющейся загрузки данных.
Примеры
-
Очистка таблицы tbl в базе данных example_db
TRUNCATE TABLE example_db.tbl; -
Очистка партиций p1 и p2 таблицы tbl
TRUNCATE TABLE tbl PARTITION(p1, p2);