Junior — Middle
Quali sono le differenze tra i comandi DELETE, TRUNCATE e DROP quando si lavora con un database?
sobes.tech AI
Risposta dell'AI
Основные отличия между командами DELETE, TRUNCATE и DROP:
-
DELETE
- Удаляет строки из таблицы по условию (если условие не указано, удаляет все строки).
- Операция логируется и может быть откатана (транзакционная).
- Не освобождает место, структура таблицы сохраняется.
-
TRUNCATE
- Быстро удаляет все строки из таблицы.
- Обычно не логирует удаление каждой строки, операция не может быть откатана в некоторых СУБД.
- Сбрасывает счетчики (например, автоинкремент).
- Структура таблицы сохраняется.
-
DROP
- Удаляет всю таблицу целиком, включая структуру и данные.
- Операция необратима, освобождает все ресурсы, связанные с таблицей.
Пример:
DELETE FROM employees WHERE id = 10; -- удаляет конкретную строку
TRUNCATE TABLE employees; -- удаляет все строки быстро
DROP TABLE employees; -- удаляет таблицу полностью