DROP TABLEDROP TABLE

如果表不是 EXTERNAL 表,请删除该表并从文件系统中删除与该表关联的目录。Deletes the table and removes the directory associated with the table from the file system if the table is not EXTERNAL table. 如果该表不存在,则会引发异常。An exception is thrown if the table does not exist.

对于外部表,仅从元存储数据库中删除关联的元数据信息。In case of an external table, only the associated metadata information is removed from the metastore database.

语法Syntax

DROP TABLE [ IF EXISTS ] table_identifier

参数Parameter

  • IF EXISTSIF EXISTS

    如果已指定,则当表不存在时,不会引发异常。If specified, no exception is thrown when the table does not exist.

  • table_identifiertable_identifier

    • [database_name.] table_name:表名,可选择使用数据库名称进行限定。[database_name.] table_name: A table name, optionally qualified with a database name.
    • delta.`<path-to-table>`:现有 Delta 表的位置。delta.`<path-to-table>`: The location of an existing Delta table.

示例Examples

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

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

-- Assumes a table named `employeetable` does not exist.
-- Throws exception
DROP TABLE employeetable;
Error: org.apache.spark.sql.AnalysisException: Table or view not found: employeetable;
(state=,code=0)

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