zoukankan      html  css  js  c++  java
  • [SQL Server系] -- 视图

    1:定义

    从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。

    从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。

    从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。

    通俗的讲:假如现在有两张表,你需要选取两张表中的部分数据,将这些数据重新组成一张表,以便于查询,则可将这两张表的结果组成视图(相当于虚拟表)。

    2:特点

    • 视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。
    • 对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。
    • 当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化。
    • 若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。

    3:语法

    CREATE VIEW 视图名
        [WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }]
        AS
            SELECT 列1, 列2, ……, 列n
            FROM 表名
            [WHERE 从句]
            [WITH CHECK OPTION]

    eg:

    删除视图:

    DROP VIEW 视图名

     假设有某个表结构如下:

    但是由于社保号(ssn)等信息是需要保密的,不能随便查询,  但是某些列又必须查询,此时就可以使用视图把可以查询的列公开出来。

    假如查询这些列:

  • 相关阅读:
    IDEA中getgetServletContext()报错
    会话跟踪小结
    Sklearn-CrossValidation交叉验证
    js定时器 数码时钟
    centos7 新建用户并获取root权限
    linux cetos7 yum 安装redis
    mybatis 中 使用 List<Map<String,Object>> Map<String,Object>接收结果
    Mybatis resultMap 中 collection association 的用法
    各大型邮箱smtp服务器及端口收集: SMTP
    Mybatis 动态sql 示例 复杂类型对象 作为参数进行取值
  • 原文地址:https://www.cnblogs.com/TangPro/p/3222691.html
Copyright © 2011-2022 走看看