Middle
24
В чем разница DELETE и TRUNCATE в SQL?
Компании, где спрашивали
ЛеруаМерлен
Ответ от нейросети
sobes.tech AI
Основные различия между DELETE и TRUNCATE в SQL:
- DELETE удаляет строки из таблицы построчно и может иметь условие
WHERE. Операция логируется, что позволяет откатить изменения (ROLLBACK). - TRUNCATE удаляет все строки из таблицы целиком, без возможности указать условие. Это более быстрая операция, так как не логирует удаление каждой строки отдельно, а сбрасывает данные страницы.
Пример:
DELETE FROM users WHERE age < 18; -- удалит только пользователей младше 18
TRUNCATE TABLE users; -- удалит всех пользователей сразу
Также TRUNCATE обычно сбрасывает счётчики автоинкремента, а DELETE — нет.