• View


    视图,虚拟表,从一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据 视图中,用户可以使用SELECT语句查询数据,也可以使用INSERT,UPDATE,DELETE修改记录,视图可以使用户操作方便,并保障数据库系统安全

    优点

    简单化,数据所见即所得

    安全性,用户只能查询或修改他们所能见到得到的数据

    逻辑独立性,可以屏蔽真实表结构变化带来的影响

    缺点

    性能相对较差,简单的查询也会变得稍显复杂

    修改不方便,特变是复杂的聚合视图基本无法修改


     注意:查询视图没有什么限制, 插入/更新/删除视图的操作会受到一定的限制; 所有针对视图的操作都会影响到视图的基表; 为了防止用户通过视图间接修改基表的数据, 可以将视图创建为只读视图(带上with read only选项)


    hive表之视图
    1、视图是一个虚表,一个逻辑概念,可以跨越多张表。表是物理概念,数据放在表中,视图是虚表,操作视图和操作表是一样的,所谓虚,是指视图下不存数据。
    2、视图是建立在已有表的基础上,视图赖以建立的这些表称为基表
    3、视图可以简化复杂的查询


    create view 视图表名 as select 基表1.字段1,基表1.字段2,基表2.字段1 ...... from 库名1.表名 库名2.表名 where 基表1.字段=基表2.字段

    eg:

    create [ or replace ] [ force ] view [schema.]view_name
                          [ (column1,column2,...) ]
                          as 
                          select ...
                          [ with check option ]                      [ constraint constraint_name ]
                          [ with read only ];

    在hive中,视图中是不存数据的,在oracle和mysql中,视图是可以存数据的,称之为物化,可提高查询速度。


     删除视图:

    语法格式 
    DROP VIEW [IF EXISTS] 
    View_name [,view_name1]…… 
    [RESTRICT | CASCADE]


    对简单视图进行DML操作:

    SQL> create view vw_emp as select empno,ename,job,hiredate,deptno from emp;

    SQL> desc vw_emp

    SQL> insert into vw_emp values(1,'a','aa','05-JUN-88',10);

    SQL> update vw_emp set ename='cc' where ename='KING';

    SQL> delete vw_emp where ename='cc';

    SQL> select * from vw_emp where deptno=10;

    基表也发生了相应的更改

  • 相关阅读:
    谈谈SpringFramework与IoC依赖查找
    监控微博、论坛的“棱镜计划”
    输出质数的方法改进
    参数解构
    直接插入排序
    理解迭代
    异常处理
    函数
    continue语句
    break语句
  • 原文地址:https://www.cnblogs.com/Vowzhou/p/11232423.html
Copyright © 2020-2023  润新知