1)删除一个分区数据
ALTER TABLE table_name DROp PARTITION (dt='20200909');
2)删除多个分区数据
ALTER TABLE table_name DROP PARTITION (dt >="20200901",dt <='20200930')
3)删除多字段分区
ALTER TABLE table_name DROP PARTITION (dt='2020901', hour='10');2、插入字段
1)插入一个字段
alter table 表名
add columns
(
user_id bigint comment '用户ID'
);
2)插入多个字段
alter table 表名
add columns
(
order_id bigint COMMENT '订单id',
pay_time timestamp COMMENT '支付时间'
);
3)插入字段到指定位置
-- 先插入字段
alter table 表名
add columns
(
is_competition int comment '是否竞赛课:0否,1是'
);
-- 再修改字段位置
alter table 表名
change column
is_competition is_competition int after teach_type_name
;
3、修改字段
1)修改字段
Alter table 表名 change column 原字段名称 现字段名称 数据类型
2)修改字段位置
Alter table 表名 change column 原字段名称 现字段名称 数据类型 after 指定字段名称4、删除字段
hive中不支持alter table table_name drop columns这种语法,支持replace
--建表语句,如果已经建过表了则可以忽略该语句 create table table_name ( column_1 string, column_2 int); --删除column_2 alter table table_name replace columns( column_1 string); --column_2不写,即删除column_2,保留column_15、orc表无法删除字段,只能重建
--1.内部表转外部表
alter table tb_name set TBLPROPERTIES ('EXTERNAL'='TRUE');
--2.查询表类型:外部表还是内部表
desc formatted tb_name;
--3.删除表
drop table tb_name;
--4.新建外部表
--5.修复表
msck repair table tb_name;
--6.查询表数据
select * from tb_name where dt='dt'
--7.外部表转内部表
alter table tb_name set TBLPROPERTIES ('EXTERNAL'='FALSE');
6、查看表类型:内部表or外部表
desc formatted tb_name;



