Truncate table sql описание: SQL оператор TRUNCATE TABLE — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

Оператор SQL: TRUNCATE. — it-black.ru

Оператор SQL: TRUNCATE. — it-black.ru

Оператор TRUNCATE служит для очистки таблицы от всех данных. Оператор TRUNCATE аналогичен оператору DELETE применяемом без оператора, WHERE. Основные отличия операторов:

  • Оператор TRUNCATE не ведет запись об удаленных данных в журнал событий;
  • DELETE осуществляет блокировку построчно, оператор TRUNCATE по всей странице целиком. Вследствие этого, оператор TRUNCATE не возвращает никакого значения, DELETE же, возвращает количество удаленных строк;
  • TRUNCATE удаляет все строки таблицы, но структура таблицы (столбцы, ограничения, индексы и т.д.) остается. Счетчик, который используется для уникальности новых записей обнуляется. Нельзя использовать TRUNCATE TABLE для таблиц, связанных ограничением FOREIGN KEY. Поскольку TRUNCATE TABLE не логируется, то и не может активировать триггер;
  • DELETE удаляет строки в таблицы и для каждой оставляет запись в логе транзакции;
  • DELETE не обнуляет счетчик уникальности;
  • DELETE может использоваться с выражением WHERE или без него;
  • После DELETE возможен откат.

Реализация оператора TRUNCATE различна для каждой СУБД, поэтому рекомендуется обращаться к документации используемой системы. Синтаксис оператора:


TRUNCATE TABLE table_name;

Пример оператора. Представим что у нас есть таблица Students с данными. Удалим все данные из таблицы используя оператор TRUNCATE:


TRUNCATE TABLE Students;

Для лучшего усвоения материала не забывайте отрабатывать примеры самостоятельно на своем компьютере.