DROP TABLE

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime

Tar bort tabellen och tar bort katalogen som är associerad med tabellen från filsystemet om tabellen inte är en EXTERNAL tabell. Ett undantag utlöses om tabellen inte finns. Om du vill släppa en tabell måste du ha MANAGE behörighet i tabellen, vara dess ägare eller ägaren av schemat, katalogen eller metaarkivet som tabellen finns i.

När det gäller en extern tabell tas endast den associerade metadatainformationen bort från metaarkivschemat.

Begränsningar för främmande nyckel som refererar till tabellen tas också bort.

Om tabellen cachelagras rensar kommandot tabellen och alla dess beroenden.

Anteckning

Unity Catalog stöder kommandot för att återställa borttagna UNDROP TABLE hanterade tabeller. Som standard kan tabeller återställas i 7 dagar efter att de tagits bort, och du kan konfigurera återställningsperioden på katalog- eller schemanivå till 0 (för att inaktivera återställning) eller 7 till 30 dagar. Att konfigurera återställningsperioden finns i Public Preview. En asynkron rensningsprocess raderar permanent de underliggande datafilerna efter att återställningsperioden är slut, så filerna kan finnas kvar i din molnhyresgäst en tid efter att tabellen inte längre är återställbar. Se Släpp en hanterad tabell och objektlagringslivscykel i Unity Catalog.

Syntax

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

Parameter

  • TEMP eller TEMPORARY

    Gäller för:markerad ja Databricks SQL

    Om det anges släpper du den tillfälliga tabellen. Om det inte finns någon tillfällig tabell med det här namnet i sessionen genererar kommandot ett felfel TABLE_OR_VIEW_NOT_FOUND feltillstånd .

    Om det inte anges släpper kommandot bara en permanent tabell och genererar ett fel om det finns en tillfällig tabell med samma okvalificerade namn i sessionen. Om du vill släppa en permanent tabell när en tillfällig tabell delar samma namn använder du det kvalificerade namnet.

  • OM DET FINNS

    Om det anges utlöses inget TABLE_OR_VIEW_NOT_FOUND fel när tabellen inte finns.

  • table_name

    Namnet på tabellen som ska tas bort. Namnet får inte innehålla en temporal specifikation eller alternativspecifikation. Om det inte går att hitta tabellen skapar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel. Om relationen som hittas inte är en tabell genererar Azure Databricks ett WRONG_COMMAND_FOR_OBJECT_TYPE fel.

  • KRAFT

    Om det specificeras, släpper en Unity Catalog-hanterad tabell även när den har beroende grundkloner. FORCE krävs endast där arbetsområdet upprätthåller skydd vid nedsläppstid för grunda kloner. Om en plain DROP TABLE misslyckas med CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE, använd FORCE för att åsidosätta den. Se Ta bort grundtabellen för en grundläggande klon.

Exempel

-- 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;