文章目录
1. DDL之库操作
1.1 增:create
create database [if not exists] 库名
[comment '库的注释']
[location '库在hdfs上存放的路径']
[with dbproperties(属性名 = 属性值,。。。)]
注意: location可以省略,默认存放在/user/hive/warehouse/库名.db目录下
dbproperties中只能存放string类型的属性
1.2 删:drop
drop database [if exists] 库名 [cascade]
删除库时,是两步操作:
①在mysql的DBS表中删除库的元数据
②删除hdfs上库存放的路径
以上操作只能删除空库(库中没有表)!如果库中有表,是无法删除的,如果要强制删除,需要添加cascade关键字
1.3 改:ALTER
只能改location和dbproperties属性!
ALTER DATABASE 库名 SET DBPROPERTIES (property_name=property_value, ...);
在改库的属性时,同名的属性会覆盖,不存在的属性会新增!
1.4 查
切换库
use 库名
查看库的描述
desc database 库名
查看库的详细描述:
desc database extended 库名
查看库中的表
show tables in 库名
查看当前库下的表
show tables
2.DDL之表操作
2.1 创建
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
-- 列的信息
[(col_name data_type [COMMENT col_comment], ...)]
-- 表的注释
[COMMENT table_comment]
-- 是否是分区表,及指定分区字段
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
-- 指定表中的数据在分桶时以什么字段进行分桶操作
[CLUSTERED BY (col_name, col_name, ...