数据库视图
视图是一张虚拟表不会占存储空间且并不会提高查询速度。它只保存了查询的逻辑定义它具有以下特点虚拟性视图只保存一段sql语句。只有你查询这个视图时才会去基表里查询数据。动态性因为没有保存数据所以是动态。如果基表的数据发生了改变当你再次查询视图时视图也会发生变化语法一致性和普通表的语法几乎一致使用视图的优点主要有简化复杂查询将复杂的sql查询封装成一个视图每次插叙无需再写只需要查询视图就行了数据安全性通过视图可以限制只能查询那些信息可以隐藏敏感数据逻辑数据独立性当基表发生改变时可以通过改变视图的定义来保证程序代码不变视图创建的语法create [or reolace] view 视图名称 [列名列表] as select 语句 [with[cascaded|local] check option]查询语法查看建图语句show create view视图名称查看视图数据Select * from 视图名称修改create [or replace] view 视图名称 [列名列表] as select语句alter view 视图名称 as select语句删除drop vieew [if esist]视图名称视图更新要使视图可更新视图中的行和基表中的行要一一对应且不能使用函数去重分组过滤等视图的检查选项cascaded(默认)只要加上这个检查选项无论父图有没有加都要检查local加上这一个检查选项只检查有要求检查的图create view v1 as select id,name from student where id 15create view v2 as selece * from v1 where id 10 with local check option;对于视图v2只需要检查id是否小于10create view v3 as select * from v1 where id10 with cascaded check option;对于视图v3不仅要检查id是否大于10且要大于15才能插入成功插入数据是插入基表视图是虚拟表不会保存数据的