数据库视图创建

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;

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值