数据库视图创建

1、 在xkgl数据库中进行视图的创建。

(1) 新建一个视图V1记录1990年出生的女生信息,包括学号,姓名,性别,出生日期,并且要求透过该视图进行的更新操作只涉及1990年出生的女生。视图创建代码:

MySQL低版本乱码问题参见:

SHOW VARIABLES LIKE ‘character_set_%’;
SET NAMES utf8;
SHOW VARIABLES LIKE ‘character_set_%’;

CREATE VIEW V1(学号,姓名,性别,出生日期)
AS
SELECT StudentID,StudentName,Sex,Birth
FROM student
WHERE YEAR(Birth)=1990 AND Sex=CONVERT(‘女’ USING gbk);

(3) 新建一个视图V2记录副教授的授课情况,包括教师姓名,职称,课程名称和学年信息。视图创建代码:

CREATE VIEW V2(教师姓名,职称,课程名称,学年信息)
AS
SELECT t.Teachername,t.Profession,c.CourseName,s.CourseID
FROM teacher t,SCHEDULE s,course c
WHERE t.TeacherID=s.TeacherID AND
s.CourseID=c.CourseID AND
t.Profession=CONVERT(‘副教授’USING gbk);

(5) 新建一个视图V3记录各个选修课程的最高分,最低分和平均分,并且按照课程编号升序排列。视图创建代码:

CREATE VIEW V3
AS
SELECT CourseID, MAX(Grade),MIN(Grade),AVG(Grade)
FROM grade GROUP BY CourseID
ORDER BY AVG(CourseID);

2、 在xkgl数据库中进行视图的修改。

(1) 修改视图V2,改为记录讲师的授课情况。视图修改代码:

ALTER VIEW V2(教师姓名,职称,课程名称,学年信息)
AS
SELECT t.Teachername,t.Profession,c.CourseName,s.CourseID
FROM teacher t,SCHEDULE s,course c
WHERE t.TeacherID=s.TeacherID AND
s.CourseID=c.CourseID AND
t.Profession=CONVERT(‘讲师’USING gbk);

3、 在xkgl数据库中进行视图数据更新。

(1) 通过视图V1向student表中插入一条记录(St0109020005,zhangsan,女,1990-09-09),插入记录代码:

INSERT INTO V1 VALUES(‘St0109020005’,’zhangsan’,’女’,1990-09-09);

(3) 通过视图V1将student表中学号为St0109020005的学生的姓名改为“张三”;

UPDATE V1 SET 姓名=’张三’WHERE 学号=’St0109020005’;

(5) 通过视图V1删除student表中学号为St0109020005的学生记录:

DELETE FROM V1 WHERE学号=’St0109020005’;

4、 在xkgl数据库中进行视图删除。

(1) 利用SQL同时删除V2和V3视图,删除视图代码:

DROP VIEW V1,V2;

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页