视图不是一个真实存在的表,它虽然是从一个或几个基本表(或视图)导出的表,但它是个虚表;类似于淘宝搜索商品,搜索出来呈现的界面。
视图可以增、删、查、改。
1.建立视图
CREATE VIEW 视图名 [(字段名1,字段名2……)] AS 子查询块 [WITH CHECK OPTION]; |
组成视图的属性列名或者全部省略或者全部指定。
子查询块就是SELECT ……
WITH CHECK OPTION表示对视图进行增,删,改时要保证增,删,改的行满足子查询中的条件。
2.删除视图
DROP VIEW 视图名 [CASCADE];
如果该视图还导出了其他视图,没有设置CASCADE级联删除语句则报错;如果设置了。则会将该视图及其导出的视图全部删除。
3.查询视图
和对基本表一样。
4.更新视图
插入(INSERT),删除(DELETE)修改(UPDATE)
和基本表一样。
但是不是所有的视图都能更新,不能完成视图消解的视图是不能更新的。
视图消解:从数据字典中取出视图的定义,把定义中的子查询(更新)和用户的查询(更新)结合起来,转化成等价的对基本表的查询(更新),然后再执行修正了的查询(更新)。