Hive数据库操作
已省略安装步骤,后期会看情况添加安装步骤
创建数据库
(1)语法
create database [if not exists] 数据库名字
[comment 数据库注释]
[location hdfs路径]
[with dbproperties] (property_name=property_value,...);
第一行为创建一个数据库,方括号中是可选内容,可以写,也可以不写(如果不存在这个数据库创建)
第二行为数据库的注释
第三行location指定数据库存放在hdfs中的具体位置
with dbproperties加具体的创建时间呀,创建者呀等等,也可以省略不写
(2)案例:
案例1
# 创建一个名为db_hive1的数据库,hdfs的存储位置是默认路径
create database db_hive1;
存储位置默认在:/user/hive/warehouse下面
案例2
# 创建一个名为db_hive2的数据库,路径为/my_db下面
create database db_hive2 location '/my_db';
存储位置:/my_db下面
案例3
# 创建一个名为db_hive3的数据库,存储路径为/my_db下面,其中dbproperties指定创建用户名为xinkai
create database db_hive3 location '/my_db' with dbproperties ('create_user'='xinkai');
存储位置与案例2相同,此处不在赘述
查询数据库
- 展示数据库
(1)语法
show databases like '具体通配表达式';
-- 注意:统配表达式中*表示任意个字符,|表示或,_表示一个字符
例1:
show databases;
例2
show databases like 'db*';
- 查看数据库信息
语法
desc database [extend] 数据库名字;
1. 查看基本信息
desc database db_hive3;
2. 查看更多信息
desc database extended db_hive3
修改数据库
用户可利用alter修改数据库的dbproperties,存储路径等,但是修改完存储的路径,之前数据库里的表存储路径未变,只是接下来创建的表存储路径会发生变化
语法
- 修改dbproperties
alter database 数据库名 set dbproperties(' '=' ');
例子:
alter database db_hive3 set dbproperties('create_user'='tom');
- 修改location
alter database 数据库名 set location '';
例子:
alter database db_hive3 set location '/my_hive';
删除数据库
语法
drop database [if exists] 数据库名 [restrict/cascade]
-- restrict(严格模式):如果数据库下有表,则删除失败(默认)
-- cascade(级联模式):如果数据库有表,连表和库一起删除
例子:
# 删除数据库db_hive3
drop database db_hive3;
切换数据库
语法
use 数据库名;
例子:
# 使用db_hive1数据库
use db_hive1;