SQL DROP TABLE
DROP TABLE и DROP DATABASE в SQL: полное и необратимое удаление таблицы или базы данных — синтаксис, примеры и меры предосторожности.
DROP — это DDL-оператор (язык определения данных), который удаляет объект базы данных вместе с его структурой. В отличие от
DELETEилиTRUNCATE, послеDROPтаблица перестаёт существовать полностью.
Синтаксис
-- Удалить одну таблицу DROP TABLE имя_таблицы; -- Удалить несколько таблиц за один оператор DROP TABLE таблица1, таблица2; -- Удалить базу данных целиком DROP DATABASE имя_бд;
Пример 1: DROP TABLE — создаём и удаляем
Создадим временную таблицу и удалим её, убедившись, что после DROP она исчезла:
-- Создаём таблицу
CREATE TABLE temp_test (
id INTEGER PRIMARY KEY,
note TEXT
);
INSERT INTO temp_test VALUES (1, 'test data');
-- Проверяем: таблица есть
SELECT * FROM temp_test;
-- Удаляем навсегда
DROP TABLE temp_test;
-- Следующий SELECT вернёт ошибку — таблицы больше нет
-- SELECT * FROM temp_test; -- ERROR: no such table
Результат SELECT до DROP:
+----+-----------+ | id | note | +----+-----------+ | 1 | test data | +----+-----------+
Пример 2: DROP TABLE IF EXISTS
Если таблица может уже не существовать — используйте IF EXISTS, чтобы избежать ошибки:
DROP TABLE IF EXISTS temp_test;
-- Если таблицы нет — просто ничего не произойдёт, ошибки не будет
Пример 3: DROP DATABASE
-- Удалить всю базу данных со всеми таблицами внутри DROP DATABASE demo;
Предупреждение.
DROP DATABASEудаляет все таблицы, данные, представления и индексы внутри базы. Операция необратима — система не спросит «вы уверены?». Используйте только тогда, когда осознанно хотите уничтожить всю базу.
DROP vs DELETE vs TRUNCATE
Оператор | Что удаляет | Структура таблицы | Обратимо? |
| Выбранные строки | Остаётся | Да (в транзакции) |
| Все строки | Остаётся | Зависит от СУБД |
| Таблицу целиком | Уничтожается | Нет |
| Всю базу данных | Уничтожается | Нет |
Коротко
DROP TABLEнеобратимо удаляет таблицу вместе с данными и структурой.DROP TABLE IF EXISTS— безопасная форма: не ошибётся, если таблица уже удалена.DROP DATABASEуничтожает всю базу данных целиком.- Перед
DROPубедитесь, что данные больше не нужны — отката нет.