实验三:数据更新和视图操作

大城市里の小女人 提交于 2019-11-26 06:40:35

1.创建表student

create table student(
    sno varchar2(20) primary key,
    sname varchar2(20),
    ssex varchar2(10),
    sdept varchar2(20),
    sage number
);

2.将一个新学生元组插入到表 student
(学号:200815128;姓名:陈冬;性别:男;所在系:计算机学院;年龄:18 岁)

insert
into student(sno, sname, ssex, sdept, sage)
values('200815128', '李东', '男', '计算机学院', 18);

3.创建表dept_sage

create table dept_sage(
    sdept varchar2(20),
    avg_age number
);

4.计算学生的平均年龄,插入dept_sage表

insert
into dept_sage(sdept, avg_age)
select sdept, avg(sage)
from student
group by sdept;

5.将学生 200815128 的年龄改为 22 岁

update student
set sage = 22
where sno = '200815128';

6.创建表sc

create table sc(
    sno varchar2(20),
    cno varchar2(20),
    grade number(5, 2) default 0,
    constraint pk_sc primary key(sno, cno)
);

7.向表sc插入一条记录

insert
into sc(sno, cno, grade)
values('200815128', '10086', 90);

8.将计算机学院全体学生的成绩置零

update sc
set grade = 0
where sno in (
    select sno
    from student
    where sdept = '计算机学院'
);

9.删除学生 20081518 的学生信息

delete
from student
where sno = '200815128';

10.插入sno = 200815128 的记录

insert
into student(sno, sname, ssex, sdept, sage)
values('200815128', '李东', '男', '计算机学院', 18);

11.删除计算机学院全体学生的选课记录

delete
from sc
where '计算机学院' = (
    select sdept
    from student
    where sno = sc.sno
);

12.使用truncate删除学生信息表中的所有记录

truncate table student;

13.建立计算机学院学生的视图

create or replace view cs_student
as
select sno, sname, ssex, sdept, sage
from student
where sdept = '计算机学院';

14.建立计算机学院学生的视图
要求:进行修改和插入操作时仍需保证该视图只有计算机学院的学生

create or replace view cs_student
as
select sno, sname, ssex, sdept, sage
from student
where sdept = '计算机学院'
with check option;

15.建立计算机学院选修了 1 号课程且成绩在 90 分以上的学生的视图

create or replace view cs_student_view
as
select sc.sno, sname, ssex, sdept, sage
from cs_student, sc
where cs_student.sno = sc.sno and cno = '1' and grade > 90;

16.删除视图 cs_student_view

drop view cs_student_view;
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!