SQL оператор TRUNCATE TABLE

В этом учебном материале вы узнаете, как использовать оператор TRUNCATE TABLE в SQL, с синтаксисом и примерами.

Описание

SQL оператор TRUNCATE TABLE используется для удаления всех записей из таблицы. Он выполняет ту же функцию, что и оператор DELETE, без предложения WHERE.
Предупреждение: при усечении таблицы оператор TRUNCATE TABLE не может быть отменен в некоторых базах данных.

Синтаксис

Синтаксис для оператора TRUNCATE TABLE в SQL.

TRUNCATE TABLE table_name;

Параметры или аргумент

table_name
Таблица, которую вы хотите усечь

Пример

Вы можете усекать таблицу, а не удалять (DROP) ее и создавать заново. Усечение таблицы может быть быстрее и не влияет на какие-либо индексы, триггеры и зависимости таблицы. Это также быстрый способ удалить записи из таблицы, если вам не нужно беспокоиться об откате.
Давайте посмотрим на то, как использовать оператор TRUNCATE TABLE в SQL.
В этом примере у нас есть таблица suppliers со следующими данными:

supplier_id supplier_name city state
100 Yandex Moscow Russian
200 Google Lansing Michigan
300 Oracle Redwood City California
400 Bing Redmond Washington
500 Yahoo Sunnyvale Washington
600 DuckDuckGo Paoli Pennsylvania
700 Qwant Paris France
800 Facebook Menlo Park California
900 Electronic Arts San Francisco California

Введите следующий оператор TRUNCATE TABLE.

Затем снова выберите данные из таблицы suppliers.

Вот результаты, которые вы должны получить.

supplier_id supplier_name city state

Этот пример будет усекать таблицу suppliers и удалить все записи из этой таблицы. Это было бы эквивалентно следующему оператору DELETE в SQL.

Оба этих оператора приведут к удалению всех данных из таблицы suppliers. Основное различие между ними состоит в том, что вы можете откатить оператор DELETE, если вы выберете, но вы не сможете откатить команду TRUNCATE TABLE во всех базах данных SQL.
Если вам нужно добавить префикс имени таблицы к имени базы данных, вы можете переписать оператор TRUNCATE TABLE следующим образом.

Этот пример будет усекать таблицу suppliers в базе данных с именем test.