数据库操作
创建数据库
create database if not exists 数据库名;
use 数据库名;
说明:hive的表存放位置模式是由hive-site.xml当中的一个属性指定的
<name>hive.metastore.warehouse.dir</name>
<value>存放路径</value>
创建数据库并指定hdfs存储位置
create database 数据库名 location '路径';
修改数据库
可以使用alter database 命令来修改数据库的一些属性。但是数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置
修改数据库的创建日期
alter database 数据库名 set dbproperties('createtime'='20880611');
查看数据库详细信息
查看数据库基本信息
desc database 数据库名;
查看数据库更多详细信息
desc database extended 数据库名;
删除数据库
删除一个空数据库,如果数据库下面有数据表,那么就会报错
drop database 数据库名;
强制删除数据库,包含数据库下面的表一起删除
drop database 数据库名 cascade;
//不要执行(危险动作)
数据库表操作
创建数据库表
- 创建一个简单的表
use 数据库名;
create table 表名(字段名1 字段类型1,字段名2 字段类型2,…);
insert into 表名 values (字段1的值,字段2的值,…);
select * from 表名;
- 创建表并指定字段之间的分隔符 (row format delimited fields terminated by ‘\t’)
create table if not exists stu2(id int ,name string) row format delimited fields terminated by ‘\t’ stored as textfile location ‘/user/stu2’;
insert into stu2 values (1,“zhangsan”);
insert into stu2 values (2,“lisi”);
insert into stu2 values (3,“wangwu”);
- 根据查询结果创建表 (as)
create table stu3 as select * from stu2;
- 根据已经存在的表结构创建表 ( like)
create table stu4 like stu2;
查询表的类型
desc formatted 表名;
修改表
- 表重命名
alter table 旧表名 rename to 新表名;
把表score4修改成score5
alter table score4 rename to score5;
- 增加/修改列信息
添加列
alter table 表名 add columns (字段名1 字段类型1,字段名2 字段类型2);
更新列
alter table 表名 change column mysco mysconew int;
- 删除表
drop table 表名;