-------------以下为自己总结:用到采纳,不用勿喷。
1.什么是视图:
视图在数据库内存储的是 SELECT 语句,可以理解为一条SQL 语句的快捷方式, 每次select 视图的时候都会执行构成视图的select 语句。它和你自己写select 查询基本表是一样的,所以在性能上没有区别,都是根据缓存来实现性能优化。
视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。
视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。
2.视图的作用
如果需要经常执行某项复杂查询,可以基于这个复杂查询建立视图,此后查询此视图即可,简化复杂查询;
视图本质上就是一条SELECT语句,所以当访问视图时,只能访问到所对应的SELECT语句中涉及到的列,对基表中的其它列起到安全和保密的作用,可以限制数据访问。
2.在某些数据库中,视图可以更新,但是并不推荐对视图的更新。视图也可以建立索引,同样有很多限制条件。
3.视图的创建:create view 名称 as select 语句.
eg:create view V1 as select user_name ,city from test where city = '杭州'
创建视图的DDL语句是CREATE VIEW,用户必须有CREATE VIEW系统权限,才能创建视图。如果没有权限,创建视图时会提示:权限不足。
管理员可以通过DCL语句授予用户创建视图的权限。下例中管理员给用户tarena创建视图的权限:
01.GRANT CREATE VIEW TO tarena;
4.视图的删除:drop view view_name
注意: 视图在某些情况下会失效,比如删除表的某列,或者修改表的某列时。
视图有些情况下是可以更新的,即可以对视图进行删除,修改,插入操作。但一般情况下不建议对视图进行 DDL 操作。