Junior — Middle
Quelles sont les différences entre les commandes DELETE, TRUNCATE et DROP lors de la manipulation d'une base de données?
sobes.tech IA
Réponse de l'IA
Основные отличия между командами DELETE, TRUNCATE и DROP:
-
DELETE
- Удаляет строки из таблицы по условию (если условие не указано, удаляет все строки).
- Операция логируется и может быть откатана (транзакционная).
- Не освобождает место, структура таблицы сохраняется.
-
TRUNCATE
- Быстро удаляет все строки из таблицы.
- Обычно не логирует удаление каждой строки, операция не может быть откатана в некоторых СУБД.
- Сбрасывает счетчики (например, автоинкремент).
- Структура таблицы сохраняется.
-
DROP
- Удаляет всю таблицу целиком, включая структуру и данные.
- Операция необратима, освобождает все ресурсы, связанные с таблицей.
Пример:
DELETE FROM employees WHERE id = 10; -- удаляет конкретную строку
TRUNCATE TABLE employees; -- удаляет все строки быстро
DROP TABLE employees; -- удаляет таблицу полностью