0


Hive表DDL操作(二)第1关:Create/Drop/Alter 视图

相关知识

为了完成本关任务,你需要掌握: 1.如何创建视图; 2.如何修改视图; 3.如何删除视图。

Create 创建视图

Hive

支持

RDBMS

视图的所有功能,包括创建、删除、修改视图。

创建视图语法:

  1. CREATE VIEWS [IF NOT EXISTS] view_name[(
  2. [COMMENT column_comment],…)]
  3. [COMMENT view_comment]
  4. [TBLPROPERTIES (property_name = property_value,…)]
  5. AS SELECT …;

属性含义与表相同。视图是只读的,视图结构在创建之初就确定,后续对于是图相关的表结构修改不会反映到视图上,不能以视图作为目标操作对象执行

LOAD/INSERT/ALTER

相关命令。若

SELECT

子句执行失败,

CREATE VIEW

操作也将会失败。

  • 创建一个测试表test:
  1. create table test(id int,name string);

说明:关键字大小写不影响操作。

  • 查看表test
desc test;

如下图:

  • 基于表test创建一个test_view视图:
  1. CREATE VIEW test_view(
  2. id,
  3. name_length
  4. )
  5. AS SELECT id,length(name) FROM test;

  • 查看test_view视图属性,DESC test_view;

  • 查看视图结果:
  1. SELECT * FROM test_view;

Alter 视图

修改视图属性语法:

  1. ALTER VIEW [db_name.]view_name SET TBLPROPERTIES table_properties;
  2. table_properties:
  3. : (property_name = property_value, property_name = property_value, ...)
  • 修改添加视图test_view的属性:
  1. ALTER VIEW test_view SET TBLPROPERTIES ('creator'='Xiaoming','date'='2019-01-01');

修改视图名语法:

  1. ALTER VIEW [database_name.]view_name RENAME TO [database_name.]view_name;
  • 修改视图名test_viewtest2_view

Drop 视图

删除视图语法:

  1. DROP VIEW [IF EXISTS] view_name;
  • 删除test2_view视图
  1. drop view if exists test2_view;

  • 通过show tables;查看当前视图,如下test2_view视图已成功删除。

编程要求

请根据右侧命令行内的提示,在

Begin - End

区域内进行

sql

语句代码补充,具体任务如下:

student

表结构:
INFOTYPESnoINTnameSTRINGageINTsexSTRINGscoreSTRUCT Chinese:FLOAT,Math:FLOAT,English:FLOAT

  • 创建test1数据库
  • test1中创建表student,表结构如上所示
  • 创建视图student_view
  • 修改视图名student_viewstudent_info_views
  • 删除student_info_views视图
#********* Begin *********#
echo "
CREATE DATABASE IF NOT EXISTS test1;
CREATE TABLE IF NOT EXISTS test1.student(
Sno INT,
name STRING,
age INT,
sex STRING,
score STRUCT<Chinese:FLOAT,Math:FLOAT,English:FLOAT>)
;
CREATE VIEW student_view(
Sno,
name_length,
age,
sex
) 
AS SELECT Sno,length(name),age,sex FROM student;
alter view student_view rename to student_info_views;
drop view if exists student_info_views;
"
#********* End *********#
标签: 数据库 大数据 sql

本文转载自: https://blog.csdn.net/qq_61604164/article/details/128827853
版权归原作者 是草莓熊吖 所有, 如有侵权,请联系我们删除。

“Hive表DDL操作(二)第1关:Create/Drop/Alter 视图”的评论:

还没有评论