当前位置: 首页 > article >正文

【大数据入门 | Hive】DDL数据定义语言(数据库DataBase)

1. 数据库(DataBase)

1.1 创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];

案例:

(1)创建一个数据库,不指定路径

hive (default)> create database db_hive1;

注:若不指定路径,其默认路径为${hive.metastore.warehouse.dir}/database_name.db

(2)创建一个数据库,指定路径

hive (default)> create database db_hive2 location '/db_hive2';

(2)创建一个数据库,带有dbproperties

hive (default)> create database db_hive3 with dbproperties('create_date'='2022-11-18');

2. 查询数据库

2.1 展示所有数据库

(1)语法

SHOW DATABASES [LIKE 'identifier_with_wildcards'];

注:like通配表达式说明:*表示任意个任意字符,|表示或的关系。

(2)案例

hive> show databases like 'db_hive*';

OK

db_hive_1

db_hive_2

2)查看数据库信息

(1)语法

DESCRIBE DATABASE [EXTENDED] db_name;

(2)案例

1查看基本信息

hive> desc database db_hive3;

OK

db_hive hdfs://hadoop102:8020/user/hive/warehouse/db_hive.db atguigu USER

2查看更多信息

hive> desc database extended db_hive3;

OK

db_name comment location owner_name owner_type parameters

db_hive3 hdfs://hadoop102:8020/user/hive/warehouse/db_hive3.db atguigu USER {create_date=2022-11-18}

3. 修改数据库

用户可以使用alter database命令修改数据库某些信息,其中能够修改的信息包括dbproperties、location、owner user。

需要注意的是:修改数据库location,不会改变当前已有表的路径信息,而只是改变后续创建的新表的默认的父目录。

1)语法

--修改dbproperties

ALTER DATABASE database_name SET DBPROPERTIES (property_name=property_value, ...);



--修改location

ALTER DATABASE database_name SET LOCATION hdfs_path;



--修改owner user

ALTER DATABASE database_name SET OWNER USER user_name;

2案例

(1)修改dbproperties

hive> ALTER DATABASE db_hive3 SET DBPROPERTIES ('create_date'='2022-11-20');

4. 删除数据库

1)语法

DROP DATABASE [IF EXISTS] database_name [RESTRICT|CASCADE];

注:RESTRICT:严格模式,若数据库不为空,则会删除失败,默认为该模式。

    CASCADE:级联模式,若数据库不为空,则会将库中的表一并删除。

2)案例

(1)删除空数据库

hive> drop database db_hive2;

(2)删除非空数据库

hive> drop database db_hive3 cascade;

5. 切换当前数据库

1)语法

USE database_name;


http://www.kler.cn/a/319014.html

相关文章:

  • 读数据质量管理:数据可靠性与数据质量问题解决之道03数据目录
  • Gsensor加速度传感器数据异常及概率性卡死
  • 如何提高自动驾驶中惯性和卫星组合导航pbox的精度?
  • OpenGL【C++】台灯
  • RHCE web解析、dns配置、firewalld配置实验
  • SCUI Admin + Laravel 整合
  • TON生态系统开发指南:从零开始构建你的Web3应用
  • 动手学深度学习(pytorch土堆)-05-1神经网络
  • C#开发者的新选择:使用ImageSharp进行图像处理
  • 什么是远程过程调用(RPC)
  • 将Uni.app打包好的apk放到IIS服务器上的详细流程
  • Maven重点学习笔记(包入门 2万字)
  • ActiveMQ 的传输协议机制
  • 如何确定SAP 某些凭证或者单号的号码编码范围的 OBJECT 是什么?
  • 无人机飞手培训校企合作特训技术详解
  • 国产操作系统
  • Linux风险应对策略:保障系统安全的有效措施
  • 828华为云征文 | 云服务器Flexus X实例,Docker集成搭建 Grafana开源数据可视化平台
  • Ubuntu24.04下编译OpenCV + OpenCV Contrib 4.10.0
  • CycleGAN-VC模型及代码实现
  • Git(5):分支合并merge和rebase
  • Linux突发网络故障常用排查的命令
  • andriod studio 学习1
  • python中网络爬虫框架
  • 【垃圾识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目选题+TensorFlow+图像识别
  • Java Web应用升级故障案例解析