wordpress如何应用插件下载失败,广州seo代理计费,企业为什么要自助建站,网站首页是什么视图是虚表#xff0c;是从一个或几个基本表#xff08;或视图#xff09;中导出的表#xff0c;在系统的数据字典中仅存放了视图的定义#xff0c;不存放视图对应的数据。视图是原始数据库数据的一种变换#xff0c;是查看表中数据的另外一种方式。可以将视图看成是一个…
视图是虚表是从一个或几个基本表或视图中导出的表在系统的数据字典中仅存放了视图的定义不存放视图对应的数据。视图是原始数据库数据的一种变换是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口通过它可以看到感兴趣的数据。 视图是从一个或多个实际表中获得的这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图的定义存在数据库中与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。视图看上去非常像数据库的物理表对它的操作同任何其它的表一样。当通过视图修改数据时实际上是在改变基表中的数据相反地基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因有些视图可以修改对应的基表而有些则不能仅仅能查询。一、视图的创建 1 创建信息系学生信息的视图 is_view create view is_view(sno,sname,ssex,sage,sdept) as select * from student where sdeptIS; 2 创建信息系选修了1号课程的学生的视图 create view is_1_view(sno,sname,ssex,sage,sdept) as select student.* from student,sc where student.sdeptIS and sc.snostudent.sno and sc.cno1; 3 建立信息系选修了1号课程且成绩在90分以上的学生的视图 create view cs_1_90_view(sno,sname,ssex,sage,sdept) as select student.* from student,sc where student.sdeptIS and sc.snostudent.sno and sc.cno1 and sc.grade90; 4 创建一个反映学生出生年份的视图 create view birth_view (sno,birth) as select sno,Year(GetDate())-sage from student; 5 将所有女生的记录定义为一个视图 create view nv_view(sno,sname,ssex,sage,sdept) as select * from student where ssex女; 6 将所有学生的学号和他的平均成绩定义为一个视图S_G。 create view S_G(sno,savg) as select sno,avg(grade) from sc group by sno; 二、 视图结构的修改 1 将视图 is_view 修改为信息系的所有女生的视图 drop view is_view; create view is_view(sno,sname,ssex,sage,sdept) as select * from student where sdeptIS and ssex女; 或者 alter view is_view as select sno,sname,ssex,sage,sdept from student where sdeptIS and ssex女; 三、查询视图 1 在信息系的学生视图中查询年龄小于20岁的学生: select sno from is_view where sage20; 2 查询信息系选修了1号课程的学生: select sno from is_1_view; 3 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩: select sno,savg from S_G where savg90; 四、更新视图 1 将信息系学生视图is_view中学号为“95002”学生姓名改为”刘辰” update is_view set sname刘辰 where sno95002; 2 向信息系学生视图is_view中插入一个新的学生记录, 学号为95029,姓名为”赵新”, 年龄为20岁 insert into is_view(sno,sname,ssex,sage,sdept) values(95029,赵新,男20,IS); 3 删除信息系学生视图is_view中学号为95004的学生的记录。 delete from is_view where sno95004; 五、删除视图 1 删除视图is_view drop view is_view; 另外视图表的查询和普通表的查询没有区别视图表的更新会有一些限制。 由于视图是基于基本表的虚表所以当基本表变化时视图也会跟着更新因此一些复杂的连表查询可以直接把需要的数据生成一个视图