HQL基本语法说明(1) 删除库表 删除数据库的语法如下: plaintext DROP DATABASE [IF EXISTS] databasename [RESTRICT CASCADE]; 参数说明如下: 1、IF EXISTS:添加该参数会校验数据库是否存在,如果数据库不存在则不执行任何操作; 2、CASCADE:如果指定该参数,删除数据库的同时会删除数据库中所有的表; 3、RESTRICT:删除数据库的默认行为,如果数据库不为空,删除操作将会抛出异常。 Hive 删除表的语法如下: plaintext DROP TABLE [IF EXISTS] tablename [PURGE]; 1、IF EXISTS:添加该参数会校验表是否存在,如果表不存在则不执行任何操作; 2、PURGE:删除表的默认行为是将数据移动到 .Trash/Current,如果指定该参数则会直接删除数据。 一个简单示例如下: 1. 使用创建好的测试数据库 testdrop 创建测试表, 如果数据库不存在则执行 create database testdrop; plaintext CREATE TABLE testdrop.testdroptable ( id INT, val STRING ) STORED AS ORC; 2. 插入数据 plaintext INSERT INTO testdrop.testdroptable (id, val) VALUES (1, 'a'), (2, 'b'); 3. 尝试删除数据库 plaintext 抛出异常,Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Database testdrop is not empty. DROP DATABASE testdrop RESTRICT; 4. 删除表 plaintext DROP TABLE testdrop.testdroptable; 5. 再次删除数据库,成功删除 plaintext DROP DATABASE testdrop RESTRICT; 6. 重新执行步骤1~步骤2;使用 CASCADE 选项删除数据库,可以成功删除数据库 plaintext DROP DATABASE testdrop CASCADE; 其他重要语句 显示所有数据库名称 plaintext show databases; 显示所有表名称 plaintext show tables; 显示数据库详细信息 plaintext desc database extended ; 切换数据库 plaintext use ;
来自: