DROP TABLE

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Elimina la tabla y quita el directorio asociado a la tabla del sistema de archivos si la tabla no es una EXTERNAL tabla. Se produce una excepción si la tabla no existe. Para quitar una tabla, debes tener el privilegio MANAGE en la tabla, ser su propietario o el propietario del esquema, catálogo o metastore en el que reside la tabla.

En el caso de una tabla externa, solo se quita la información de metadatos asociada del esquema de metastore.

También se quitan las restricciones de clave externa que hacen referencia a la tabla.

Si la tabla se almacena en caché, el comando anula la caché de la tabla y todos sus dependientes.

Nota:

Unity Catalog admite el UNDROP TABLE comando para recuperar las tablas administradas eliminadas. Por defecto, las tablas son recuperables durante 7 días después de ser eliminadas, y puedes configurar el periodo de recuperación a nivel de catálogo o esquema a 0 (para desactivar la recuperación) o de 7 a 30 días. La configuración del periodo de recuperación está en Vista previa Pública. Un proceso de purga asincrónico elimina permanentemente los archivos de datos subyacentes tras finalizar el periodo de recuperación, de modo que los archivos pueden permanecer en tu tenant en la nube durante un tiempo después de que la tabla ya no sea recuperable. Consulte Quitar una tabla administrada y elciclo de vida de Almacenamiento de objetos en el catálogo de Unity.

Sintaxis

DROP TABLE [ IF EXISTS ] table_name [ FORCE ]
DROP {TEMP | TEMPORARY} TABLE table_name [IF EXISTS]

Parámetro

  • TEMP o TEMPORARY

    Se aplica a:casilla marcada como Sí Databricks SQL

    Si se especifica, quita la tabla temporal. Si no existe ninguna tabla temporal con este nombre en la sesión, el comando genera un error de condición de error TABLE_OR_VIEW_NOT_FOUND .

    Si no se especifica, el comando quita solo una tabla permanente y genera un error si existe una tabla temporal con el mismo nombre no completo en la sesión. Para quitar una tabla permanente cuando una tabla temporal comparte el mismo nombre, use el nombre completo.

  • SI EXISTE

    Si se especifica, no se produce ningún error TABLE_OR_VIEW_NOT_FOUND cuando la tabla no existe.

  • table_name

    Nombre de la tabla que se va a quitar. El nombre no debe incluir una especificación temporal ni una especificación de opciones. Si no se encuentra la tabla, Azure Databricks genera un error TABLE_OR_VIEW_NOT_FOUND. Si la relación encontrada no es una tabla, Azure Databricks genera un error WRONG_COMMAND_FOR_OBJECT_TYPE .

  • FUERZA

    Si se especifica, elimina una tabla gestionada por Unity Catalog incluso cuando tiene clones superficiales dependientes. FORCE solo se requiere cuando el espacio de trabajo impone protección contra el tiempo de caída para clones superficiales. Si un plano DROP TABLE falla con CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE, úsalo FORCE para anularlo. Consulte Eliminar la tabla base de un clon superficial.

Ejemplos

-- Assumes a table named `employeetable` exists.
> DROP TABLE employeetable;

-- Assumes a table named `employeetable` exists in the `userdb` schema
> DROP TABLE userdb.employeetable;

-- Assumes a table named `employeetable` does not exist.
-- Throws TABLE_OR_VIEW_NOT_FOUND
> DROP TABLE employeetable;
  Error: TABLE_OR_VIEW_NOT_FOUND

-- Assumes a table named `employeetable` does not exist. Try with IF EXISTS
-- this time it will not throw exception
> DROP TABLE IF EXISTS employeetable;

-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Where the workspace enforces drop-time protection for shallow clones,
-- a plain DROP throws CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE
> DROP TABLE employeetable;
  Error: CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE

-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Drops the base table even when it has shallow clones. The referencing shallow clones stop working.
> DROP TABLE employeetable FORCE;

-- Creates and drops a temporary table
> CREATE TEMPORARY TABLE scratchpad(txt STRING);
> DROP TEMPORARY TABLE scratchpad;