Все три команды удаляют данные, но делают это по-разному.
DELETE
➜ Удаляет выбранные строки из таблицы.
➜ Позволяет задать условие
WHERE.TRUNCATE
➜ Удаляет все строки из таблицы.
➜ Сохраняет её структуру.
DROP
➜ Удаляет саму таблицу: данные, индексы, ограничения и определение структуры.
Как запомнить:
• DELETE — удалить строки.
• TRUNCATE — очистить таблицу.
• DROP — удалить таблицу.
Примеры:
-- Удаляет строку с id = 101
DELETE FROM users WHERE id = 101;
-- Удаляет все строки, сохраняя таблицу
TRUNCATE TABLE users;
-- Удаляет саму таблицу
DROP TABLE users;
Когда использовать каждую команду?
DELETE
• Нужно удалить конкретные записи.
• Требуется фильтрация через
WHERE.• Могут срабатывать триггеры, а удаление обычно журналируется на уровне строк.
TRUNCATE
• Нужно быстро очистить всю таблицу.
• Таблица понадобится для дальнейшей работы.
• Часто применяется для временных или промежуточных данных.
DROP
• Таблица больше не нужна.
• Требуется удалить и данные, и определение её структуры.
Ловушка на собеседовании:
DELETE FROM users; без WHERE удаляет все строки, но сохраняет таблицу. Это не то же самое, что DROP TABLE users;. Сохраните шпаргалку, если изучаете SQL или готовитесь к собеседованию.👉 @SQLPortal
