Встречается на собеседованиях • сегодня

В чем разница между DELETE и TRUNCATE

DELETE и TRUNCATE — это SQL-команды для удаления данных, но с ключевыми различиями:

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

Пример:

sql
-- Удалить конкретные строки (можно отменить)
DELETE FROM users WHERE id = 5;

-- Очистить всю таблицу (необратимо)
TRUNCATE TABLE users;
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы