HiveDDL数据库的增删改查

HiveDDL
数据库的增删改查
1.创建数据库
1)创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。
在这里插入图片描述
2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法)
在这里插入图片描述
3)创建一个数据库,指定数据库在HDFS上存放的位置
在这里插入图片描述
在这里插入图片描述
2.查询数据库
1)显示数据库
在这里插入图片描述
2)过滤显示查询的数据库
在这里插入图片描述
3)显示数据库信息
在这里插入图片描述
4)显示数据库详细信息,extended
在这里插入图片描述
5)切换当前数据库
在这里插入图片描述
3.修改数据库
在这里插入图片描述
在hive中查看修改结果
在这里插入图片描述
数据库名和数据库所在的目录位置等元数据信息不可更改。

4.删除数据库
1)删除空数据库
在这里插入图片描述
2)如果删除的数据库不存在,最好采用 if exists判断数据库是否存在
在这里插入图片描述
3)如果数据库不为空,可以采用cascade命令,强制删除
在这里插入图片描述

### Hive DDL 操作概述 Hive 数据定义语言(DDL)用于管理数据库和表结构。常见的操作包括创建、修改和删除数据库及表。 #### 创建与查看数据库 要创建一个新的数据库,可以使用如下命令: ```sql CREATE DATABASE IF NOT EXISTS myhive2; ``` 为了获取关于特定数据库更详细的元数据信息,可执行以下语句[^1]: ```sql DESCRIBE DATABASE EXTENDED myhive2; ``` 这会返回有关 `myhive2` 的扩展描述,包括位置和其他配置参数。 #### 查看并切换当前使用的数据库 可以通过下面的SQL指令来列出所有的数据库名称: ```sql SHOW DATABASES; ``` 当需要指定某个具体的工作空间时,则需先通过此命令改变上下文环境[^2]: ```sql USE sogou; ``` 此时任何后续的操作都将默认作用于`sogou`这个命名空间下的对象上。 #### 显示现有表格列表 一旦选择了目标库之后,就可以利用这条查询展示其中已存在的所有关系型实体了: ```sql SHOW TABLES; ``` 如果只想检索满足某些条件的数据集名,还可以附加模式匹配表达式作为过滤器的一部分,比如只查找那些名字里含有“test”的项: ```sql SHOW TABLES LIKE '*test*'; ``` #### 删除带有依赖关系的对象 对于试图移除非空架构的情况——即内部还存在关联着它的子级组件(如表),则有两种策略可供选择:一是采用RESTRICT选项阻止此类行为的发生;二是借助CASCADE强制清除整个层次链上的全部项目[^4]。 以安全的方式尝试销毁名为`database_name`的容器及其内容的方法之一是这样的组合拳: ```sql DROP DATABASE IF EXISTS database_name RESTRICT; ``` 而无差别清理则是这样做的: ```sql DROP DATABASE IF EXISTS database_name CASCADE; ``` 后者不仅会抹掉顶级节点本身还会连带干掉其下辖的一切资源,所以在实际应用前务必谨慎评估影响范围。 #### 修改已有表结构 除了增删之外,在不破坏原始布局的前提下调整字段特性也是经常遇到的任务。例如增加新列或者更改既有者的名字/类型等动作均属于这一范畴内的变更活动[^3]。 假设现在想给某张表追加一栏叫做`new_column`的数据成员,并赋予它整数类型的特征,那么应该这样做: ```sql ALTER TABLE table_name ADD COLUMNS (new_column INT); ``` 又或者是重命名单个属性的同时保持其余部分不变的话,相应的语法形式为: ```sql ALTER TABLE table_name CHANGE COLUMN old_name new_name NEW_TYPE; ``` 这里需要注意的是不同版本之间可能存在细微差异,因此建议查阅官方文档确认最准确的信息源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值