1. 数据库(DataBase)
1.1 创建数据库
语法:
sql
CREATE DATABASE [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];
案例:
(1)创建一个数据库,不指定路径
sql
hive (default)> create database db_hive1;
注:若不指定路径,其默认路径为${hive.metastore.warehouse.dir}/database_name.db
(2)创建一个数据库,指定路径
sql
hive (default)> create database db_hive2 location '/db_hive2';
(2)创建一个数据库,带有dbproperties
sql
hive (default)> create database db_hive3 with dbproperties('create_date'='2022-11-18');
2. 查询数据库
2.1 展示所有数据库
(1)语法
sql
SHOW DATABASES [LIKE 'identifier_with_wildcards'];
注:like通配表达式说明:*表示任意个任意字符,|表示或的关系。
(2)案例
sql
hive> show databases like 'db_hive*';
OK
db_hive_1
db_hive_2
2 )查看数据库信息
(1)语法
sql
DESCRIBE DATABASE [EXTENDED] db_name;
(2)案例
1查看基本信息
sql
hive> desc database db_hive3;
OK
db_hive hdfs://hadoop102:8020/user/hive/warehouse/db_hive.db atguigu USER
2查看更多信息
sql
hive> desc database extended db_hive3;
OK
db_name comment location owner_name owner_type parameters
db_hive3 hdfs://hadoop102:8020/user/hive/warehouse/db_hive3.db atguigu USER {create_date=2022-11-18}
3. 修改数据库
用户可以使用alter database命令修改数据库某些信息,其中能够修改的信息包括dbproperties、location、owner user。
需要注意的是:修改数据库location,不会改变当前已有表的路径信息,而只是改变后续创建的新表的默认的父目录。
1 )语法
sql
--修改dbproperties
ALTER DATABASE database_name SET DBPROPERTIES (property_name=property_value, ...);
--修改location
ALTER DATABASE database_name SET LOCATION hdfs_path;
--修改owner user
ALTER DATABASE database_name SET OWNER USER user_name;
2 ) 案例
(1) 修改 dbproperties
sql
hive> ALTER DATABASE db_hive3 SET DBPROPERTIES ('create_date'='2022-11-20');
4. 删除数据库
1) 语法
sql
DROP DATABASE [IF EXISTS] database_name [RESTRICT|CASCADE];
注:RESTRICT:严格模式,若数据库不为空,则会删除失败,默认为该模式。
CASCADE:级联模式,若数据库不为空,则会将库中的表一并删除。
2)案例
(1)删除空数据库
sql
hive> drop database db_hive2;
(2) 删除非空数据库
sql
hive> drop database db_hive3 cascade;
5. 切换当前数据库
1) 语法
sql
USE database_name;