(1)启动hive
[atguigu@hadoop102 hive]$ bin/hive
(2)查看数据库
hive> show databases;
(3)打开默认数据库
hive> use default;
(4)显示default数据库中的表
hive> show tables;
(5)创建一张表
hive> create table student(id int, name string);
(6)显示数据库中有几张表
hive> show tables;
(7)查看表的结构
hive> desc student;
(8)向表中插入数据
hive> insert into student values(1000,”ss”);
(9)查询表中数据
hive> select * from student;
(10)退出hive
hive> quit;
(11) 清空表
truncate table t306;
不出意外会报错。
Cannot truncate non-managed table t306.
原因:Truncate只能删除管理表,不能删除外部表中数据
如果想要删除外部表的数据,步骤如下:
1、删除该表分区:
alter table t306 drop partition(p_date=’2016-11-23’,p_hou16);
2、删除hdfs中的数据
hadoop fs -rm -r /home/t306/*
库
- 查询:show databases;desc database x;
修改:alter database *
alter database db_hive set dbproperties(‘createtime’=’20170830’);
删除:drop database xxx;
如果数据库不为空,可以采用cascade命令,强制删除:drop database cascade;
表
创建表
参见 https://www.yuque.com/tangwx/bigdata/becapx
删除表
drop table dept_partition;
分区表
- 增加分区:alter table dept_partition add partition(month=’201706’) ;
- 删除分区:alter table dept_partition drop partition (month=’201704’);
重命名
ALTER TABLE table_name RENAME TO new_table_name
列的操作
- 新增:alter table dept_partition add columns(deptdesc string);
- 更新:alter table dept_partition change column deptdesc desc int;
替换列:alter table dept_partition replace columns(deptno string, dname
string, loc string);