Hive:DDL of Database

Create/Drop/Alter/Use Database

Create Database
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
  [COMMENT database_comment]
  [LOCATION hdfs_path]
  [WITH DBPROPERTIES (property_name=property_value, ...)];

  SCHEMA 和 DATABASE 是可以互换的,它们表示的是相同的东西。

  CREATE DATABASE 语句在 Hive 0.6 (HIVE-675) 中加入的。 The WITH DBPROPERTIES 子句是 Hive 0.7 (HIVE-1836) 中加入的。

Drop Database
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];

  SCHEMA 和 DATABASE 是可以互换的,它们表示的是相同的东西。DROP DATABASE 语句是在 Hive 0.6 (HIVE-675) 中加入的。 hive 默认是 RESTRICT 模式,如果数据库中不为空,即存在表,DROP DATABASE 将会失败。为了一并删除数据库中的表,可以使用 DROP DATABASE … CASCADE,这个用法是在 Hive 0.8 (HIVE-2090) 中加入的。

Alter Database
ALTER (DATABASE|SCHEMA) database_name SET DBPROPERTIES (property_name=property_value, ...);   -- (Note: SCHEMA added in Hive 0.14.0)
 
ALTER (DATABASE|SCHEMA) database_name SET OWNER [USER|ROLE] user_or_role;   -- (Note: Hive 0.13.0 and later; SCHEMA added in Hive 0.14.0)
  
ALTER (DATABASE|SCHEMA) database_name SET LOCATION hdfs_path; -- (Note: Hive 2.2.1, 2.4.0 and later)

  SCHEMA 和 DATABASE 是可以互换的,它们表示的是相同的东西。ALTER SCHEMA 是在 Hive 0.14 (HIVE-6601) 中加入的。

  ALTER DATABASE … SET LOCATION 不会将数据库的当前文件夹中的内容移动到新的指定路径。它不会更改数据库下的任何表/分区所关联的位置。它只会改变数据库中新建表的默认父目录。这种行为类似于更改表目录而不会将现有分区移动到其他位置。

  不能更改关于数据库的其他元数据。

Use Database
USE database_name;
USE DEFAULT;

SELECT current_database();

  USE为所有后续 HiveQL 语句设置当前数据库。若要还原到默认数据库,请使用关键字“default”而不是数据库名称。查看当前使用的数据库可以使用 SELECT current_database() (从Hive 0.13.0起)。

  USE database_name 在 Hive 0.6 (HIVE-675) 中被加入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值