zoukankan      html  css  js  c++  java
  • 11-10SQLserver基础--数据库之视图

    视图

    视图实际就是对表的连接展现出来的结果建成的虚拟表。简单来说,视图实际上就是一个虚拟的表,通过表与表之间的关系连接起来,方便查询时使用。

    首先,将需要连接的语句存储到数据库中,定义新的视图名代替连接的这段语句;

    然后,每次查询这个新的视图名的时候,实际上是执行了表连接的代码查询。

    1、将两个表(student,score表)联合写成一个表来用,形成一个新的表。

    (select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student
    join score on student.Sno=score.Sno) as --作为一个新表,方便查询时使用

    2、创建视图

    方法一:通过视图---新建视图来操作。

    步骤1:在“对象资源管理器” 选择想要建视图的数据库(xinxibiao)名下,点击“+”号后,

    在子目录中选中“视图”,右键“新建视图”。

    步骤2:在弹出的“添加表”对话框中,选择想要建立关系的表,然后点击“添加”,关闭即可。

    步骤3:当两个或几个表建立好关系之后,发现它们之间存在主键与外键的关系,下图就是它们之间的关系表。

    步骤4:建立好关系后,完成创建视图,就会显示想要的结果。

    方法二:通过代码创建视图

    书写格式:

    create +(视图英文名)+创建的视图名称 ---类似表的创建格式

    as

    建立两个或多个表之间的关系的查询语句

    go

    例:create view studentscore             ----创建视图

    as

    select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student

    join score on student.Sno=score.Sno                                             ---建立student,score 表的关系语句

    go

    select*from studentscore  ----查询结果的语句

    【注意事项】视图里面不存在order by, 聚合函数,in,not in 关系运算等语句,它不是一个真正的表,是虚拟的表,数据来源在student,score表中,只能使用表连接的join...on组合数据,方便查询使用。

    练习题1:

    3、删除视图

    方法1:

    方法2:通过代码删除

    drop view+视图名称

    例如: drop view studentscore

    4、修改视图 

    alter view studentscore  ---相当于删除视图重写

    as

    select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student

    join score on student.Sno=score.Sno               

    )                            

    go

    【注意事项】同一个关系视图只能建一次,修改之后需重新建立关系,视图本身就是虚拟的不存在,只是为了查询方便使用。

  • 相关阅读:
    开始准备AWS SysOps Administrator associate 认证考试,接下来的Blog都是准备过程中的知识点
    什么是 AWS Data Pipeline
    AWS WAF 的工作原理
    CloudTrail 的工作原理
    AngularJS尝鲜——快递运费计算
    IE UAF 漏洞(CVE-2012-4969)漏洞分析与利用
    学着分析CVE-2017-7269 -- IIS 6.0 WebDAV远程代码执行漏洞
    数据结构:实验六(单循环链表实现链式队列)
    EPS2.2 整数溢出漏洞分析到利用pwntools进行漏洞利用
    serialVersionUID作用
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4087602.html
Copyright © 2011-2022 走看看