Hive学习笔记(三)与数据库有关的HiveQL语句

1.创建数据库:

CREATE DATABASE mydb;

如果数据库mydb已经存在的话,那么将会抛出一个错误信息。使用如下语句可以避免这种情况下抛出错误信息:

CREATE DATABASE IF NOT EXISTS mydb; 

当我们创建数据库mydb时,Hive会对应地创建一个目录/user/hive/warehouse/mydb.db。值得注意的是,数据库default创建的目录是/user/hive/warehouse/customers,没有default.db。
创建数据库时增加属性信息:

CREATE DATABASE mydb
WITH DBPROPERTIES('creator' = 'xiaohong', 'date' = '2018-01-10');

相应地,查看数据库中的属性信息:

DESCRIBE DATABASE EXTENDED mydb;

2.查看Hive中所有的数据库:

SHOW DATABASES;

如果数据库非常多的话,可以使用正则表达式筛选出需要的数据库名,使用LIKE和RLIKE关键字。
下面这个例子列举出所有以字母h开头,以其他字符结尾的数据库名:

SHOW DATABASES LIKE 'h.*';

因为没有命令让用户查看当前所在的是哪个数据库,这时我们可以使用USE…命令,并且可以重复使用。
3.修改存放路径:

CREATE DATABASE mydb
LOCATION '/my/preferred/directory';

4.查看数据库具体指标信息:

DESCRIBE DATABASE mydb;

5.删除数据库:

DROP DATABASE IF EXISTS mydb;

IF EXISTS是可选的,使用这个子句可以避免因数据库mydb不存在而抛出警告信息。
Hive是不允许用户删除一个包含有表的数据库的。用户要么先删除数据库中的表,然后再删除数据库;要么在删除命令的最后面加上关键字CASCADE,这样可以使Hive自行先删除数据库中的表:

DROP DATABASE IF EXISTS mydb CASCADE;

6.修改数据库属性信息:

ALTER DATABASE mydb SET DBPROPERTIES ('edited-by' = 'Joe Dba');

本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接)。

你可能感兴趣的:(Hive,数据分析)