首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL高级篇之View视图讲解

视图是一种虚拟表 ,本身是不具有数据 的,占用很少的内存空间,它是 SQL 中的一个重要概念.视图建立在已有表的基础上, 视图赖以建立的这些表称为基表.视图的创建和删除只影响视图本身,不影响对应的基表。但是当对视图中的数据进行增加、删除和修改操作时,数据表中的数据会相应地发生变化,反之亦然。视图,是向用户提供基表数据的另一种表现形式。通常情况下,小型项目的数据库可以不使用视图,但是在大型项目中,以及数据表比较复杂的情况下,视图的价值就凸显出来了,它可以帮助我们把经常查询的结果集放到虚拟表中,提升使用效率。理解和使用起来都非常方便。

01
您找到你想要的搜索结果了吗?
是的
没有找到

第八章《视图》

视图:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包括数据 作为一个select语句保存在数据字典中的 通过视图,可以展现基表的部分数据,属兔数据来自定义视图的查询中使用的表 使用视图动态生成 基表:用来创建视图的表叫做基表base table 因为试图的诸多优点 如下: 1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。 2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。 3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

01

第八章《视图》

视图:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包括数据 作为一个select语句保存在数据字典中的 通过视图,可以展现基表的部分数据,属兔数据来自定义视图的查询中使用的表 使用视图动态生成 基表:用来创建视图的表叫做基表base table 因为试图的诸多优点 如下: 1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。 2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。 3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

02

【数据库SQL server】关系数据库标准语言SQL之视图

【1】建立信息系学生的视图。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'IS'; 【1】建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生 。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'IS' WITH CHECK OPTION; 【1】 建立信息系选修了1号课程的学生的视图(包括学号、姓名、成绩)。 CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT Student.Sno,Sname,Grade FROM Student,SC WHERE Sdept= 'IS' AND Student.Sno=SC.Sno AND SC.Cno= '1'; 【1】 建立信息系选修了1号课程且成绩在90分以上的学生的视图。 CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade>=90; 带表达式的视图 【1】定义一个反映学生出生年份的视图。 CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno,Sname,2014-Sage FROM Student; 分组视图 【1】将学生的学号及平均成绩定义为一个视图 CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; 【1】将Student表中所有女生记录定义为一个视图 CREATE VIEW F_Student(F_Sno,name,sex,age,dept) AS SELECT * /*没有不指定属性列*/ FROM Student WHERE Ssex=‘女’; 缺点:修改基表Student的结构后,Student表与F_Student视图 的映象关系被破坏,导致该视图不能正确工作。

01
领券