Вопрос10
Осталось:

Каковы основные различия между DELETE и TRUNCATE?

Образцовый ответ

Показывать ответ по умолчанию

DELETE:

  • Удаляет выбранные записи из таблицы.
  • Можно использовать условие WHERE для удаления конкретных записей.
  • Операция записывается в журнал транзакций построчно.
  • Триггеры ON DELETE срабатывают.
  • Медленнее по сравнению с TRUNCATE.

Пример:

MySQL
DELETE FROM employees WHERE salary < 30000;

TRUNCATE:

  • Удаляет все записи из таблицы без возможности восстановления через ROLLBACK (в большинстве СУБД).
  • Нельзя использовать WHERE.
  • Операция быстрее, так как не логируется построчно.
  • Сбрасывает идентификаторы (если используется автоинкремент).
  • Триггеры не срабатывают.

Пример:

MySQL
TRUNCATE TABLE employees;