## hive數據庫操作
* 上一節創建的hive數據庫,實際上mysql中是沒有的,而是在hdfs中存著。
* 具體可以在hadoop_hive庫中的DBS表中查看到數據庫的信息。

* 可以看到在hdfs中存的位置。
## 數據庫操作
### 1.1 查看數據列表
~~~sql
show databases;
~~~
[](https://github.com/heibaiying/BigData-Notes/blob/master/pictures/hive-show-database.png)
### 1.2 使用數據庫
~~~sql
USE database_name;
~~~
### 1.3 新建數據庫
語法:
~~~sql
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name --DATABASE|SCHEMA 是等價的
[COMMENT database_comment] --數據庫注釋
[LOCATION hdfs_path] --存儲在 HDFS 上的位置
[WITH DBPROPERTIES (property_name=property_value, ...)]; --指定額外屬性
~~~
示例:
~~~sql
CREATE DATABASE IF NOT EXISTS hive_test
COMMENT 'hive database for test'
WITH DBPROPERTIES ('create'='heibaiying');
~~~
### 1.4 查看數據庫信息
語法:
~~~sql
DESC DATABASE [EXTENDED] db_name; --EXTENDED 表示是否顯示額外屬性
~~~
示例:
~~~sql
DESC DATABASE EXTENDED hive_test;
~~~
### 1.5 刪除數據庫
語法:
~~~sql
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
~~~
* 默認行為是 RESTRICT,如果數據庫中存在表則刪除失敗。要想刪除庫及其中的表,可以使用 CASCADE 級聯刪除。
示例:
~~~sql
DROP DATABASE IF EXISTS hive_test CASCADE;
~~~