• 视图的创建与销毁


    视图的创建与销毁

    1创建语法:
    CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]
    [ WITH <view_attribute> [ ,...n ] ]
    AS select_statement [ ; ]
    [ WITH CHECK OPTION ]

    <view_attribute> ::=
    {
        [ ENCRYPTION ]
        [ SCHEMABINDING ]
        [ VIEW_METADATA ]     }

    注意的两点:
     1、视图创建后,只在数据字典中存放视图的定义,而其中的select语句并不执行。
     2、只有当用户对视图进行操作时,才按照视图的定义将数据从基本表中取出。

    2创建简单的视图
    create view StudentInfo_View
    as
    select * from studentinfo

    查看刚才创建的视图
    select * from StudentInfo_View

    运行结果如下:

            

    3为视图创建视图
    实际上,可以把视图也看成是一个表,也可以视图创建视图。

    为视图StudentInfo_View包含的所有男同学的信息创建一个视图Boy_View
    实例代码:

    create view Boy_View
    as
    select * from StudentInfo_View where sex='男'

    select * from Boy_View
    运行结果如下:
                

    由于视图是一个"虚表",当表被删除时,由该表创建的视图,或视图的视图都不可用。

    4为表中的一列,或者几列信息创建视图

    create view NameAddress_View
    as
    select sname,address from StudentInfo

    查看视图
    select * from NameAddress_View
    运行结果:

                

    5创建与表具有不同字段名的视图
    create view NewColumnName_View(Boy_name,Boy_Address,Sex)
    as
    select sname,address,sex
    from studentinfo where sex='男'

    查看视图NewColumnName_View 
    select * from NewColumnName_View
    运行结果如下:
                

    5 利用视图简化表的复杂连接
    视图的一个重要用途就是进行复杂的SQL数据处理。

    create view Join_View
    as
    select sname,dname,score
    from Studentinfo ,department,recruitinfo
    where studentinfo.dno=department.dno and studentinfo.address=recruitinfo.address

    select * from Join_View

    运行结果:
                

    6 利用视图简化复杂查询  

    7 视图的销毁
    drop view view_name
    视图在物理上是不存在的,它实际上是不存在的。只是一个查询结果,是一个被存储的查询。与create table语句
    不同,create table语句在系统目录中保存表,而create view 语句只保存视图的定义。所以Drop view语句删除视图时,删除的也是视图的定义,对实际表中的数据并没有影响。

    8 使用视图时的几点注意
     1、和表一样,视图必须有惟一的名字,不仅视图之间不允许有相同的名字,并且视图与表也不允许拥有相同的名字。
     2、视图创建个数不受限制,用户可以创建任意多个视图。
     3、用户要创建视图,必须从数据库管理员得到创建权限。
     4、视图可以嵌套,即可以创建视图的视图。
     5、一些数据库管理系统(如 SQL SERVER)禁止用户在查询语句中使用order by 子句。

  • 相关阅读:
    Express 2015 RC for Windows 10 安装
    离线下载Express 2015 for Windows 10
    离线下载Express 2015 for Windows 10
    windows 10预览版升级win10 7月29 10240.16384
    windows 10预览版升级win10 7月29 10240.16384
    C# 获得系统环境
    C# 获得系统环境
    C++宽字符串转字符串
    C++宽字符串转字符串
    C++ md5类,封装好
  • 原文地址:https://www.cnblogs.com/abcdwxc/p/973582.html
Copyright © 2020-2023  润新知