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_idsupplier_namecitystate
100YandexMoscowRussian
200GoogleLansingMichigan
300OracleRedwood CityCalifornia
400BingRedmondWashington
500YahooSunnyvaleWashington
600DuckDuckGoPaoliPennsylvania
700QwantParisFrance
800FacebookMenlo ParkCalifornia
900Electronic ArtsSan FranciscoCalifornia

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

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

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

supplier_idsupplier_namecitystate

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

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

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