http://www.cnblogs.com/gzmg/p/3379953.html
比如一个比较复杂的查询不想每次都写很多语句,就可以写个视图。或者给特定用户开放某些表的读取权限,但要加一些行和列的限制,也可以写个视图。
视图的好处,可以主要分为四点: 我简单的说一下,希望你能明白。 第一点: 使用视图,可以定制用户数据,聚焦特定的数据。 解释: 在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话, 采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没 有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视 图,以后他在查询数据时,只需select * from view_caigou 就可以啦。 第二点:使用视图,可以简化数据操作。 解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能 会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我 们只需要select * from view1就可以啦~,是不是很方便呀~ 第三点:使用视图,基表中的数据就有了一定的安全性 因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以 将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集 合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改 和删除,可以保证数据的安全性。
逻辑数据独立性。视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。第四点:可以合并分离的数据,创建分区视图 随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很 多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务 情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些 数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字, 将各分公司的数据合并为一个视图。
代码创建视图的语法:create view 视图名字as查询代码示例:create view view_userasselect id from usergo/*以上为创建一个视图,视图里面存储的是user表的ID列*/删除视图的SQL语法可以先检查有没有改视图if exusts(select * from sysobjects where name='视图名字')/*如果数据库中存在这个视图,就删除该视图,查不查询随便你*/drop view 视图名字 /*执行删除视图语法*/ 示例:drop view view_user /*删除名为view_user的视图*/---------------------------------------查询视图:select *[这里的*可以是指定的视图里面的列] from 视图名字---------------------------------------注意事项:1.一个视图可以嵌套另一个视图,但最后不要超过3层2.视图定义中的select语句不能包括下列内容*order by排序子句,除非在select语句中带有一个top子句*into关键字*引用临时表或表变量
转载于:https://www.cnblogs.com/ZkbFighting/p/8099141.html
相关资源:数据结构—成绩单生成器