《数据库原理》实验6 视图操作

在这里插入图片描述

实验目的
(1)使用SQL语句CREATE VIEW创建视图的用法。
(2)了解删除视图的SQL语句DROP VIEW的用法。
(3)掌握查询视图的语法结构。
二、实验内容

  1. 练习建立视图:
    (1) 建立计算系学生的视图view_cs,并要求进行修改和插入操作时仍需保证该视图只有计科的学生,视图的属性名为Sno,Sname,Ssex,Sage,Sdept。
CREATE view view_cs(Sno,Sname,Ssex,Sage,Sdept)
as
SELECT Sno,Sname,Ssex,Sage,Sdept
FROM student
WHERE Sdept='cs'
with check option

在这里插入图片描述

(2) 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图view_xk。

CREATE view view_xk(Sno,Sname,cname,grade)
as
SELECT student.Sno,Sname,cname,grade
FROM student,sc,course
WHERE student.sno=sc.sno and course.cno=sc.cno

在这里插入图片描述
(3) 定义一个反映学生出生年份的视图BT_S。

CREATE view BT_S(Sno,Sname,Sbirth)
as
SELECT Sno,Sname,2022-Sage
FROM student;

在这里插入图片描述

(4) 删除第(3)步建立的视图

DROP view BT_S;
  1. 练习基于视图的查询操作
    (1) 在计科的学生视图view_cs中找出年龄小于20岁的学生姓名和年龄。
SELECT Sname,Sage
FROM view_cs
WHERE Sage<20

在这里插入图片描述

(2) 在视图view_xk中查询成绩在85分以上的学生学号、姓名和课程名称。

SELECT Sno,Sname,cname
FROM view_xk
WHERE grade>85

在这里插入图片描述

  1. 练习基于视图的更新操作
    (1) 通过计科学生视图view_cs将学号为’202215121’的学生姓名改为“张玮”。
UPDATE view_cs
set Sname='张玮'
WHERE Sno=202215001

(2) 通过计科学生视图view_cs向学生表中添加一条新纪录,(‘888888888’,‘李锋’,‘男’,20,‘cs’)。

INSERT into view_cs VALUE ('888888888','李锋','男',20,'cs')

在这里插入图片描述

(3) 通过计科学生视图view_cs删除学生表中学号为’ 888888888’的记录。

DELETE FROM view_cs
WHERE Sno=888888888

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值