HiveQL数据定义之数据库

本文详细介绍了HiveQL中的数据库操作,包括创建、查看、设置和删除数据库,以及添加描述和属性信息。通过`create database`命令创建数据库,`show databases`查看数据库,`use`命令切换当前工作数据库,`drop database cascade`删除数据库及其所有表。同时,可以使用`alter database`修改数据库描述和属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据定义语言部分,用于创建、修改和删除数据库、表、视图、函数和索引。

数据库

1、如何创建一个数据库

create database dba;

如果数据库dba已经存在的话,将会抛出一个错误信息。避免出现这种情况可以使用

create database if not exists dba;

2、查看hive中所包含的数据库

show databases;

如果数据库比较多的话,可以使用正则表达式来进行匹配所需要的数据库名。

show databases like 'h.*';

含义为列出以字母h开头,其他字符结尾的数据库名。

3、数据库存在形式

hive会为每一个数据库创建一个目录。数据库的文件目录名是以 .db 结尾的。

数据库所在的目录位于属性 hive.metastore.warehouse.dir 所指定的顶层目录之后。

使用默认配置的话,顶层目录也就是/user/hive/warehouse。

当我们创建数据库dba时,hive将会对应的创建一个目录,如下所示:

/user/hive/warehouse/dba.db。

可以通过如下命令来修改这个默认的位置:

create database dba location '/my/preferred/directory';

4、为数据库添加描述

为数据库增加一个描述信息的命令为:

create database dba comment 'this is my dba';

可以使用describe database命令查看该信息,并且这个命令还可以显示出数据库所在的文件目录路径。

describe database dba;

5、为数据库添加键值对相关属性信息

还可以为数据库增加一些和其相关的键-值对属性信息。6、

create database dba with dbproperties('creator'='zhaozhen','data'='2018-09-06');

可以通过下面这个命令来显示:

describe database extenden dba;

6、设置工作数据库

use命令用于将某个数据库设置为用户当前的工作数据库,但是没有一个命令可以让用户查看当前所在是哪个数据库,幸运的是,可以重复使用use命令。

use dba;

在hive v0.8.0版本以及之后的版本支持可以通过设置一个属性值来在提示符里面显示当前所在的数据库。

set hive.cli.print.current.db=true;

7、删除数据库

命令:

drop database if exists dba;

默认情况下,hive是不允许用户删除一个包含有表的数据库的,要么先删除数据库表,再删除数据库;

要么在删除命令的后面加上关键字cascade,使hive自行先删除数据库中的表。

drop database if exists dba cascade;

8、修改数据库

 修改数据库只能修改描述这个数据库的属性信息。数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录位置。

alter database dba set dbproperties('edited-by'='zhao');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值