hive sql基本语句

目录

一、Database

1.1查看数据库

1.2使用数据库

1.3创建数据库

1.4查看数据库信息

1.5删除数据库

二、创建表

2.1建表

2.2内部表  

2.3外部表

2.4分区表

2.5临时表

2.6用查询结果创建表

2.7复制表结构

2.8加载数据到表

三、修改表

3.1修改表名

3.2修改列

语法:  

示例: 

3.3新增列

四、清空/删除表

4.1清空表

语法: 

示例: 

4.2删除表 

五、查看

5.1查看建表语句


 一、Database

1.1查看数据库

show databases;

1.2使用数据库

use database_name;

1.3创建数据库

create database [if not exists] database_name
[comment database_comment] --注释
[location hdfs_path] --存储在hdfs上的位置

1.4查看数据库信息

desc database db_name;

1.5删除数据库

  drop database [if exists] database_name [restrict|cascade]
  默认为restrict,如果数据库内有表,想要一并删除可以使用cascade

二、创建表

2.1建表

create [temporary] [external] table student(
id int,
name string,
age int)
[row format delimited] --分隔符设置开始语句
[fields terminated by ‘\t’] --单引号内填分隔符
[stored as textfile] --文件保存的类型
[location hdfs_path]; --指定表的存储位置

2.2内部表  

create table table_name(
id int,
name string)
row format delimited fields terminated by ‘\t’;

2.3外部表

create external table student(
id int,
name string)
row format delimited fields terminated by ‘\t’
location ‘/hive/emp_external’;

2.4分区表

create table student(
id int,
name string)
partitioned by(score string) --创建一个表,并设置以”score”字段分区

2.5临时表

 (临时表仅对当前对话可见(session),临时表数据存储在用户的暂存目录,并在对话结束后删除。如果哦临时表与永久表表名相同,则在此对话中对表名的引用全部指向临时表。)
  限制:不支持分区,不支持创建索引

  create temporary table student(
  id int,
  name string);

2.6用查询结果创建表

create table table_name as select * from student where id < ‘20’;

2.7复制表结构

creeate [temprary] [external] table [if not exists] [db_name.]table_name --创建表表名
like old_table_name --被复制表的表名
[location hdfs_path];

示例:

create table student2 like student1;

2.8加载数据到表

-- 加载数据到 student表中
load data [local] inpath “/data/student.csv” intp table student; --如果路径时linux就加local关键字

三、修改表

3.1修改表名

alter table table_name rename to new_table_name;

3.2修改列

语法:  

alter table table_name change col_old_name col_new_name col_type
[first|after column_name];

示例: 

 --修改字段名和类型
  alter table student change id id_new int;
  --修改字段id的名称,并将其放在name字段后
  alter table student change id id_new int after name;

3.3新增列

alter table table_name add columns (score int comment ‘1-100’);

四、清空/删除表

4.1清空表

语法: 

 -- 清空整个表或表指定分区中的数据
truncate table table_name [partition (partition_column = partition_col_value,  ...)];

示例: 

truncate table student;
truncate table student partition(score = 100);

4.2删除表 

drop table [if exists] table_name
删除内部表的元数据和存储在hdfs上的数据,外部表只会删除元数据

五、查看

5.1查看建表语句

show create table table_name;

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值