您的位置:首页 > 数据库

HiveQL:数据定义之数据库操作

2017-12-30 20:07 232 查看

Hive Data Definition Language(DDL)

HiveQL:数据定义之数据库操作

1 创建数据库

-- 1
CREATE DATABASE mydb;
-- 2
CREATE DATABASE IF NOT EXISTS mydb
LOCATION '/user/Oythonhill/mydb.db'
WITH DBPROPERTIES ('creater'='Oythonhill','date'='2017-12-30')
COMMENT 'this is a test db';


如果不指定LOCATION参数,数据库存在于默认目录/user/hive/warehouse/mydb.db

LOCATION参数,可以指定数据库的存储目录,这里的LOCATION是HDFS上的路径,其中Oythonhill是我的账户,mydb.db是一个目录

COMMENT参数,可以加上一些数据库的描述信息;

2 描述数据库

DESCRIBE DATABASE mydb;
DESCRIBE DATABASE EXTENDED mydb;


DESCRIBE DATABASE语句可以看到这个数据库的路径,COMMENT内容等信息

DESCRIBE DATABASE EXTENDED语句可以看到额外的键值对信息;

3 使用数据库

USE mydb;


USE命令用于将某个数据库设置为当前的工作数据库,和在文件系统中切换工作目录是一个概念

4 修改数据库

ALTER DATABASE mydb SET DBPROPERITIES ('edited-by'='Pythonhill')


目前Hive只支持修改键值对属性值,其他数据库信息都不允许更改;

5 删除数据库

-- 1
DROP DATABASE mydb;
-- 2
DROP DATABASE IF EXISTS mydb;
DROP DATABASE IF EXISTS mydb RESTRICT;
-- 3
DROP DATABASE IF EXISTS mydb CASCADE;


默认情况下,Hive不允许删除包含表的数据库

可以选择先将数据库中的表删除,再删除数据库,或者使用CASCADE关键字

与CASCADE关键字对应的是RESTRICT关键字,默认即为RESTRICT。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 hive DDL