目录
一、数据库操作
1.创建数据库
create database [ if not exists ] db_name [ location position];
2.删除库
dorp database db_name ; #只能删除空数据库如果数据库内有表就会报错
3.删除带有表的数据库
drop database 数据库名 cascade;
4.查看数据库存储位置
desc database db_name;
5.指定存储位置
create database 数据库名 location '路径';
二、数据表操作
1.创建表
create table 表名(要素1 数据类型,要素2 数据类型,····,要素N 数据类型)
2.插入表
insert into 表名 values(要素1 ,要素2,······要素N )
3.查询表
select *或列表名 from 表名;
4.删除表
drop table 表名;
5.表重命名
alter table old_table_name rename to new_table_name;
6.修改表属性
alter table tablename set tblproperties('table_tblpropertie'='new_table_tblpropertie');
7.分区操作
(1)添加分区
alter table table table_name add partition(列名='分区名 ');
ps:新分区是空的无数据,需要手动添加或上传数据文件
因为没有加载数据所以是空的。
(2)修改分区值
alter table tablename partition(列名='分区名 ') rename to partition (列名='分区名 ');
注意:修改分区会将原分区数据转移到新分区
(3)删除分区
alter table tablename drop partition(列名='分区名 ');
8.添加列
alter table table_namr add columns (v1 int ,v2 string );
9.修改列名
alter table test_change change v1 v1_new int;
10.清空表
truncate table tablename;
ps:只可以清空内部表
三、数据加载和导出
1.数据加载
(1)load语法(从表外导入)
LOAD DATA [ LOCAL ] INPATH ' file:path ' [ OVERWRITE ] INTO TABLE tablename;
注意:使用本地上传后文件不会消失,使用HDFS上传后文件会消失
本地上传:
HDFS上传:
先将文件上传HDFS,然后再加载文件。
(2)insert select语法(从其他表导入)
insert [ overwrite | into ] table tablename1 [ partition (partcol1=val1,partcol2=val2 ...) [ if not exists] ] select_statement1 from from_statement;
2.数据导出
(1)insert overwrite方法
语法:insert overwrite [ local ] directory ' path ' select_statement1 from_statement;
改变分隔符:
语法:insert overwrite [ local ] directory ' path ' row format delimited fields terminated by " \t" select_statement1 from_statement;
(2)hive shell 方法
基本语法:bin/hive -e " select * from table;" > "path"
bin/hive -f export.sql > path
注意:-e后将接sql语句,-f后接sql脚本