DDL数据库定义和DML数据操作语言

本文详细介绍了Hive中的DDL(数据库定义语言)和DML(数据操作语言)。内容涵盖创建、管理(增删改)内部表与外部表,数据导入与导出,以及查询操作如JOIN和笛卡尔积。特别强调了内部表和外部表的区别以及在Hive中如何进行数据的加载和插入操作。
摘要由CSDN通过智能技术生成

数据库DDL

1.创建库的语法

CREATE DATABASE [IF NOT EXISTS] database_name   [IF NOT EXISTS] --增强代码的健壮性  
[COMMENT database_comment]                                      --这个库是干嘛的
[LOCATION hdfs_path]                                            --你当前的库存储的hdfs路径
[WITH DBPROPERTIES (property_name=property_value, ...)];        --一点用没有(鸡肋)

create database db_hive
comment 'this in my first db'

2.创建数据库: (增)
创建一个数据库,指定数据库在HDFS上存放的位置

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

--在你不指定的location的情况下 默认在你的hdfs/user/hive/warehouse下创建一个以database_name.db名的文件夹 来当做库
--在你指定location的情况下 拿最后一级目录当做库的名字



3.过滤显示查询的数据库: (查)

hive> show databases like 'db_hive*';
OK
db_hive
db_hive_1

显示数据库信息:

hive> desc database extended db_hive;
OK
db_hive		hdfs://hadoop102:8020/user/hive/warehouse/db_hive.db	atguiguUSER	

4.改
用户可以使用ALTER DATABASE命令为某个数据库的DBPROPERTIES设置键-值对属性值,来描述这个数据库的属性信息。数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录位置。

alter database db_hive set dbproperties('dbtype'='db');  --修改原来的属性
alter database db_hive set dbproperties('createtime'='2020-08-19');  --增加原来的属性

所以其实数数据库的属性就是为了凑一个改的效果,并不怎么用

5.删

drop database if exists db_hive2; --加上 if exists 增加代码的健壮性

drop database db_hive cascade; --强制删除 (当你库下面有表的时候) 慎用(只有你确定所有表都没用的时候)

表DDL

创建表

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name 
 --external表示创建的表是否为外部表,内外部表的效果底下介绍
 
[(col_name data_type [COMMENT col_comment], ...)]
--列名--列的类型 --列的注释(列拿来干什么的)
例子: create table test (age int comment 'agemean');
可能会有问题的是,这里为什么列名和列的类型都是可选项,因为我们可以用底下写的模范命令(as,like)来模仿一个数据库,这样原本数据库的列的架构就是可选项了。!!!
=================================================================================
[COMMENT table_comment]                          --表的注释  这个表拿来干嘛的
=================================================================================
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]   --分区表
[CLUSTERED BY (col_name,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值