前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「基础」SQL-Hive中常用的数据库操作

「基础」SQL-Hive中常用的数据库操作

作者头像
巡山猫说数据
发布2021-05-18 10:00:55
4100
发布2021-05-18 10:00:55
举报

今天我们来讲讲Hive中常用的数据库操作指令及相关效果。

01-查看数据库

执行语句:

show databases;

执行效果:

hive (default)> show databases;
OK
database_name

02-创建数据库

创建数据库:

create database 数据库名;

执行效果:

hive (default)> create database hive_in_action;
OK
Time taken: 1.602 seconds

hive (default)> show databases;
OK
database_name
default
hive_in_action
Time taken: 0.172 seconds, Fetched: 2 row(s)

如果要创建的数据库名已经存在的话,将会抛出一个错误信息,如下:

hive (default)> create database hive_test;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Database hive_test already exists

可以使用以下语句避免报错:

create database if not exists 数据库名;

执行结果:

hive (default)> create database if not exists hive_test;
OK
Time taken: 0.113 seconds

03-查询数据库属性

普通查询:

describe database 数据库名;

查询结果:

hive (default)> describe database hive_test;
OK
db_name  comment  location  owner_name  owner_type  parameters
hive_test    hdfs://hadoop:9000/usr/hive/warehouse/hive_test.db  root  USER  
Time taken: 0.29 seconds, Fetched: 1 row(s)

简略写法:

desc database 数据库名;

查询结果:

hive (default)> describe database hive_test;
OK
db_name  comment  location  owner_name  owner_type  parameters
hive_test    hdfs://hadoop:9000/usr/hive/warehouse/hive_test.db  root  USER  
Time taken: 0.29 seconds, Fetched: 1 row(s)

04-使用数据库

操作语句:

use 数据库名;

执行结果:

hive (default)> use hive_in_action;
OK
Time taken: 0.107 seconds
hive (hive_in_action)> 

显示当前所在数据库操作:

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

执行结果:

hive> set hive.cli.print.current.db=true;
hive (hive_in_action)> 

05-删除数据库

普通删除:

drop database 数据库名;

执行效果:

hive (default)> drop database hive_test;
OK
Time taken: 1.201 seconds
hive (default)> 

默认情况下,Hive不允许删除一个里面有表存在的数据库。

如果想删除数据库,要么先将数据库中的表全部删除,此时可以使用CASCADE关键字,使用该关键字后,Hive会自己将数据库下的表全部删除。慎用慎用!

强行删除:

drop database 数据库名 cascade;

执行结果:

hive (default)> use hive_in_action;
OK
Time taken: 1.602 seconds
 
hive (hive_in_action)> drop database hive_in_action;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Database hive_in_action is not empty. One or more tables exist.)
 
hive (hive_in_action)> drop database hive_in_action cascade;
OK
Time taken: 2.491 seconds
 
hive (hive_in_action)> show databases;
OK
database_name
default
hive_test

以上,就是本期内容,希望对你有帮助~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巡山猫说数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01-查看数据库
  • 02-创建数据库
  • 03-查询数据库属性
  • 04-使用数据库
  • 05-删除数据库
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档