Как удалить таблицу в SQL?

«Как удалить таблицу в SQL?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для удаления таблицы и всех её данных используется оператор DROP TABLE.

Базовый синтаксис:

DROP TABLE table_name;

Критически важные нюансы:

  1. Операция необратима. Удаляются структура таблицы, все данные, индексы, триггеры и ограничения.
  2. Проверка существования. Попытка удалить несуществующую таблицу вызовет ошибку. Используйте условное удаление:

    -- Универсальный стандарт SQL (поддерживается многими СУБД)
    DROP TABLE IF EXISTS table_name;
    
    -- Специфичные варианты:
    -- Для SQL Server
    IF OBJECT_ID('dbo.table_name', 'U') IS NOT NULL
        DROP TABLE dbo.table_name;
    
    -- Для Oracle (до 23c)
    BEGIN
        EXECUTE IMMEDIATE 'DROP TABLE table_name';
    EXCEPTION
        WHEN OTHERS THEN
            IF SQLCODE != -942 THEN
                RAISE;
            END IF;
    END;
  3. Каскадное удаление зависимостей. В некоторых СУБД можно удалить таблицу, даже если на неё ссылаются внешние ключи или представления.
    -- PostgreSQL
    DROP TABLE table_name CASCADE;

Рекомендация: Перед выполнением DROP TABLE в production всегда делайте резервную копию данных.