1、视图的概念;
2、创建视图的方法;
3、对视图的基本操作。
MySQL视图的定义与查询。
参考任务二中提供的表数据内容,编写相应SQL语句,实现对视图的基本操作。参考教材《数据库系统概论》P121-127的例题,以及《MySQL数据库入门》第7章内容。
(1)功能:建立信息系的学生,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。
命令:
CREATE VIEW IS_student
AS
SELECT SNo,SName,SSex
FROM student
WHERE Sdept='IS'
WITH CHECK OPTION;
(1)功能:建立信息系选修了5号课程的学生的视图(包括学号,姓名,成绩)
命令:
CREATE VIEW IS_S1(SNo,SName,Score)
AS
SELECT student.SNo,SName,Score
FROM student,sc
WHERE Sdept='IS' AND student.SNo=sc.SNo AND sc.CNo='00005';
(2)功能:建立信息系选修了5号课程且成绩在80分以上的学生视图。
命令:
CREATE VIEW IS_S2
AS
SELECT SNo,SName,Score
FROM IS_S1
WHERE Score>=80;
(1)功能:定义一个反映学生年龄的视图
命令:
CREATE VIEW BT_A(SNo,SName,SBir)
AS
SELECT SNo,SName,2018-SBir
FROM student;
(1)功能:将学生的学号及平均成绩定义为一个视图
命令:
CREATE VIEW S_G(SNo,Gavg)
AS
SELECT SNo,AVG(Score)
FROM sc
GROUP BY SNo;
(2)功能:将student表中所有女生记录定义为一个视图
命令:
CREATE VIEW F_student(F_sno,name,sex,bir,credits,dept)
AS
SELECT *
FROM student
WHERE Ssex='女';
(1)功能:查看信息系学生视图
命令:DESC IS_student;
截图:
(1)功能:查看学生年龄的视图
命令:SHOW TABLE STATUS LIKE 'BT_A'\G
截图:
(1)功能:
命令:SHOW CREATE VIEW F_student\G
截图:
(1)功能:查询选修了5号课程的信息系学生。
命令:
SELECT IS_student.SNo,SName
FROM IS_student,sc
WHERE IS_student.SNo=sc.SNo AND sc.CNo='00005';
(2)功能:在S_G视图中查询平均成绩在80分以上的学生学号和平均成绩。
命令:
SELECT *
FROM S_G
WHERE Gavg>=80;
(1)功能:将信息系学生视图IS_student中学号为16041101的学生姓名改为“艾舒安”。
命令:
UPDATE IS_student
SET SName=‘艾舒安’
-> WHERE SNo=‘16041101’;
(2)功能:向信息系学生视图IS_student中插入一个新的学生记录,其中学号为16041000,姓名为艾舒安,性别为男.
命令:
INSERT
INTO student(SNo,SName,SSex)
VALUES(’16041101’,’艾舒安’,’男’);
在写查询视图的过程中,cmd命令行方式输出字符集不对应,所以显示乱码,所以改用navicat查询视图。