数据库定义与操作语言
一、ScoreDB中各个表
二、实验目的
理解和掌握数据库SQL DDL语句的语法;
掌握SQL 程序设计基本规范,熟练运用SQL语言实现数据基本查询语句、嵌套查询等;
熟悉数据库的数据更新操作;
熟练SQL有关视图的操作。
三、实验内容
导入ScoreDB数据库,按照“实验2数据”,修改四张表内各个字段的类型以及宽度。完成后,实现以下操作:
2.2数据操纵
1.将所有选修001课程的同学的成绩增加5分。
update Score
set score=score+5
where courseNo='001'
2.将李小勇同学选修课程的成绩增加30%。
update Score
set score=score*1.3
where studentNo in(select studentNo
from Student
where studentName='李小勇')
3.将每个班级的学生人数填入到班级表的ClassNum列中。
update Class
set classNum=scount
from class a,
(select classNo,count(*) scount
from Student
group by classNo) b
where a.classNo=b.classNo
4.在Student表中添加一条学生记录(学号:0800016,姓名:张三,籍贯:福建)。
insert into Student(studentNo,studentName,native)
values('0800016','张三','福建')
5.求出每门课程的选修人数,把结果存放在新表CountC中。(用SELECT INTO语句实现)
select courseNo,count(courseNo) 选修人数
into CountC
from Score
group by courseNo
6.求出每个学生的选修门数和平均分,把结果存放在新表CountSC中。(用INSERT SELECT语句实现)
create table CountSC(
department varchar(20),
average smallint)
insert into CountSC
select courseNo,Count(courseNo) 选修门数 ,avg(score) 平均分
from Score
group by (studentNo)
7.删除刘方晨同学所有的选修记录。
delete from Score
where studentNo in
(select studentNo from Student
where studentName='刘方晨')
8.删除选修了“操作系统”课程的选课记录。
delete from Score
where courseNo in
(select courseNo from Course
where courseName='操作系统')