MySQL(13)-视图
Posted H_Cisco
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL(13)-视图相关的知识,希望对你有一定的参考价值。
视图概述
视图是从一个或几个表或视图中导出的虚拟表,其结构和数据来自于对表的查询在物理上是不存在的,也就是没有专门的地方为视图存储数据。在建立视图时被查询的表称为基表,视图并不在数据库中以存储的数据值集的形式存在,它的行和列数据都来自于基表,并且是视图在被引用时动态生成。
效率高
安全性高
定制数据
可以对表合并和分割
不影响
命令行方式创建
查看视图
删除视图
drop view v_kk
create view V_NSTUINF
as select sc.sno,student.sname,sc.score from student,sc where student.sno=sc.sno and student.ssex='男' and sc.score>75 and sc.score<100
create view V_ KCMIN as
SELECT course.cname,min(sc.score)
from course
inner join sc
on course.cno=sc.cno
GROUP BY course.cno
create view V_ COU_AUG as
select sno,count(cno),avg(score)
from sc
group by sno
CREATE view V_ STUSCINF as
select sc.sno,student.sname,course.cname,sc.score
from student,sc,course
where student.sno=sc.sno and sc.cno=course.cno
create view V_ AVGSUM as
select sno,sname,avg(score),sum(score)
from `v_ stuscinf`
GROUP BY sno
select * from `v_ avgsum` where avg(score) > 80
update `v_ stuscinf` set score=score+score*0.1
alter view `v_ nstuinf` as
select sno,sname,sage
from student
where ssex='男'
- 将视图V_ NSTUINF显示内容,修改为查询男生的学号、姓名、年龄。
- 通过修改视图V _STUSCINF,能否将所有分数加上10%?如果不能,请修改基表sc,将所有分数加上10%,再查看视图V. STUSCINF中
- 查询视图V_ AVGSUM中,均分在80以上的记录。。
- 在视图V_STUSCINF上,创建视图V_ AVGSUM可以查询到所有学生编号,姓名,平均分,总分。
- 创建一个视图V_ STUSCINF,通过该视图可以查询到所有学生编号,姓名,课程名,成绩。
- 将各位学生选修课程的门数及平均成绩定义为视图V_ COU_AUG。
- 创建一个视图V_ KCMIN,通过该视图可以查询到每个课程的名称及最低成绩。
- 创建一个视图V_ NSTUINF,通过该视图可以查询到成绩在75-100内并且性别是男生的学生编号,姓名,成绩。
以上是关于MySQL(13)-视图的主要内容,如果未能解决你的问题,请参考以下文章