Вопрос №10
Осталось:
Каковы основные различия между DELETE и TRUNCATE?
Образцовый ответ
Показывать ответ по умолчанию
DELETE:
- Удаляет выбранные записи из таблицы.
- Можно использовать условие WHERE для удаления конкретных записей.
- Операция записывается в журнал транзакций построчно.
- Триггеры ON DELETE срабатывают.
- Медленнее по сравнению с TRUNCATE.
Пример:
DELETE FROM employees WHERE salary < 30000;
TRUNCATE:
- Удаляет все записи из таблицы без возможности восстановления через ROLLBACK (в большинстве СУБД).
- Нельзя использовать WHERE.
- Операция быстрее, так как не логируется построчно.
- Сбрасывает идентификаторы (если используется автоинкремент).
- Триггеры не срабатывают.
Пример:
TRUNCATE TABLE employees;