概念:视图是逻辑上来自一个或多个表的数据集合。
为什么使用视图:
限制其它用户对数据库表的访问,因为视图可以 有选择性的显示数据库表的一部分;
容易实现复杂的查询;
对于相同的数据可以产生不同的视图;
简单视图和复杂视图的的区别
创建视图
CREATE [OR REPLACE] [FORCE|NOFORCE]
VIEW viewname
[(column[,column]…)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraintname]]
[WITH READ ONLY]
注:
·OR REPLACE:如果所创建的视图已经存在,该选项表示修改原视图的定义;
·FORCE:不管视图所基于的基表是否存在,都会创建该视图;
·NOFORCE:只有视图所基于的基表都存在,才会创建该视图;
·viewname:视图的名称;
·column:列名,列名的数量必须和视图所对应查询语句的列数量相等;
·subquery:一条完整的SELECT语句;
·WITH CHECK OPTION:一个约束条件,通过视图所插入或修改的数据行必须满足视图所定义的查询;constraintname:约束名;
·WITH READ ONLY:确保在该视图上不能进行任何DML操作;
在SQL PLUS中,可以使用DESC命令显示视图的结构。
DESC 视图名;
修改视图
关键词:CREATE OR REPLACE VIEW(创建或替换视图)
注意:CREATE VIEW子句中别名的顺序必须和内部查询中的列的顺序一一对应。
DML操作
可以通过视图进行DML操作,但是有很多前提: