在SQL中,视图是外模式一级数据结构的基本单位。它是从一个或几个基本表中导出的表,是从现有基本表中抽取若干子集组成用户的"专用表"。这种构造方式必须使用 SQL中的SELECT语句来实现。在定义一个视图时,只是把其定义存放在系统的数据中, 而并不直接存储视图对应的数据,直到用户使用视图时才去求得对应的数据。
1、视图的定义
在SQL中,定义视图可以使用CREATE VIEW语句实现,其语句格式为:
CREATE VIEW 视图名 ASSELECT语句
(1)单源表视图
即视图是从一个基本表中导出的:
例1:从基本表student中导出只包括女学生情况的视图
CREATE VIEW WOMANVIEWAS --创建一个视图WOMANVIEW
SELECT st_class,st_no,st_name,st_age --选择列
FROM student --从基本表student引入
WHERE st_sex='女'--引入条件为性别为"女",注意字符变量都使用单引号引用
(2)多源表视图
即视图是从多个基本表中导出的:
例如:从基本表student和score中导出只包括女学生且分数在60分以上的视图
CREATE VIEWWOMAN_SCOREAS --定义视图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并不予以支持,如果想了解的话,只能参考具体的数据库管理系统的相关文档。
新闻热点
疑难解答