Чем отличаются команды DELETE и TRUNCATE?

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
7,758
Реакции
1,449
Credits
25,226
Чем отличаются команды DELETE и TRUNCATE?

  • DELETE используется для удаления одной или большего числа существующих таблиц.
  • TRUNCATE удаляет все данные внутри таблицы.
Между DELETE и TRUNCATE существуют следующие различия:
  • TRUNCATE — это команда DDL, а DELETE — команда DML.
  • При помощи TRUNCATE мы не можем активировать триггер, а с DELETE можем.
  • TRUNCATE не будет работать, если таблица содержит внешние ключи. В этом случае придется использовать DELETE.
Синтаксис команды DELETE:
Код:
DELETE FROM table_name
[WHERE condition];

Пример:
select * from stu

Результат:

output-5.png

delete from stu where s_name=’Bob’

Результат:

output-6.png

Синтаксис команды TRUNCATE:
Код:
TRUNCATE TABLE
Table_name;

Пример:
select * from stu1

Результат:

output-7.png

truncate table stu1

Результат:

output-8.png

Таким образом будут удалены все записи в таблице.