当前位置:K88软件开发文章中心编程语言SQLSQL01 → 文章内容

SQL:视图的定义与管理

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 1:46:38

:2011-02-20 12:18:40

在SQL中,视图是外模式一级数据结构的基本单位。它是从一个或几个基本表中导出的表,是从现有基本表中抽取若干子集组成用户的"专用表"。这种构造方式必须使用 SQL中的SELECT语句来实现。在定义一个视图时,只是把其定义存放在系统的数据中, 而并不直接存储视图对应的数据,直到用户使用视图时才去求得对应的数据。

1、视图的定义

定义视图可以使用CREATE VIEW语句实现,其语句格式为:

CREATE VIEW 视图名 AS SELECT语句

(1)单源表视图

即视图是从一个基本表中导出的:

例1:从基本表student中导出只包括女学生情况的视图

CREATE VIEW WOMANVIEW AS           --创建一个视图WOMANVIEW 
          SELECT st_class,st_no,st_name,st_age    --选择列st_class,st_no,st_name,st_age显示 
          FROM student            --从基本表student引入
           WHERE st_sex=‘女'        --引入条件为性别为"女",注意字符变量都使用单引号引用

(2)多源表视图

即视图是从多个基本表中导出的:

例如:从基本表student和score中导出只包括女学生且分数在60分以上的视图

CREATEVIEW WOMAN_SCORE AS           --定义视图WOMANSCORE
          SELECT student.st_class,student.st_no,student.st_name,student.st_age,score.sc_score 
                       --有选择性显示相关列 
         FROM student.score             --从基本表student和score中引入 
         WHERE student.st_sex=‘女' AND score.sc_score>=60 AND
          student.st_no=score.st_no          --选择条件:性别为"女" 且分数在60分以上。并使用
st_no将两表联系起来。

以后如果进行这一视图的应用,则只需使用语句

SELECT * FROM WOMAN_SCORE          --其中"*"为通配符,代表所有列

2、视图的删除

用于删除已不再使用的视图,其语句格式如下:

DROP VIEW 视图名

例:将上面建立的WOMAN_SCORE视图删除

DROP VIEW WOMAN_SCORE

对于修改视图,很多DBMS并不予以支持,如果想了解的话,只能参考具体的数据库管理系统的相关文档。



SQL:视图的定义与管理