Compartir a través de


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:

Las tablas se eliminan en un plazo de 7 a 30 días. Unity Catalog admite el UNDROP TABLE comando para recuperar tablas administradas eliminadas durante 7 días. Después de 7 días, los datos subyacentes se marcan para su eliminación del inquilino en la nube durante las operaciones de mantenimiento de tablas normales.

Sintaxis

DROP [ TEMPORARY ] TABLE [ IF EXISTS ] table_name [ FORCE ]

Parámetro

  • TEMPORARY

    Se aplica a:con check marcado Databricks SQL con check marcado Databricks Runtime 17.3 y versiones posteriores

    Elimina una TEMPORARY tabla.

  • 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, la tabla se puede eliminar incluso si tiene clones dependientes poco profundos. Esto solo es aplicable a las tablas administradas del catálogo de Unity. 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.
-- 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 base table, but shallow clones referencing this base table will no longer work
> DROP TABLE employeetable FORCE;

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