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

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

DELETE — это DML-операция, которая удаляет строки из таблицы с возможностью фильтрации через WHERE. Она логируется, может быть откачена (ROLLBACK) и запускает триггеры.

TRUNCATE — это DDL-операция, которая быстро удаляет все строки из таблицы без фильтрации. Не логируется (кроме некоторых СУБД), не вызывает триггеры, освобождает место, сбрасывает автоинкремент.

Пример:

sql
-- DELETE (можно откатить)
DELETE FROM users WHERE id = 1;
ROLLBACK;  -- вернет удаленную строку

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

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

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

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