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

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

DELETE - операция DML, удаляет строки из таблицы с возможностью фильтрации через WHERE. Можно откатить через ROLLBACK. Пример:

sql
DELETE FROM users WHERE id = 1;

TRUNCATE - операция DDL, удаляет ВСЕ строки из таблицы, сбрасывает автоинкремент. Быстрее DELETE, но нельзя откатить. Пример:

sql
TRUNCATE TABLE users;

DROP - операция DDL, полностью удаляет таблицу (структуру + данные). Требует пересоздания таблицы. Пример:

sql
DROP TABLE users;

Ключевые отличия:

  1. DELETE - построчное удаление, TRUNCATE/DROP - сразу всю таблицу
  2. DELETE можно фильтровать, остальные - нет
  3. TRUNCATE/DROP не пишут в лог, поэтому быстрее
  4. DROP удаляет и структуру таблицы
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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