数据库实验3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库基础与实践实验报告实验三数据更新

班级:惠普测试171

学号:1708090122

姓名:陶浩

日期:2019/10/12

1 实验目的:

1)掌握SQL进行数据添加的方法;

2)掌握SQL进行数据修改的方法;

3)掌握SQL进行数据删除的方法。

2 实验平台:

操作系统:Windows xp。

实验环境:SQL Server 2000以上版本。

3 实验内容与步骤

利用实验一创建的sch_id数据库完成下列数据更新,并对语句的功能进行测试。

1.向数据库的每张用户表(除SC表)中至少添加3条元组,其中S表中插入2位计算机专业的同

学,一位非计算机专业的同学。(计算机专业在专业表中的专业名为计算机)

代码:

insert C

values('C8','JAVA','80')

insert C

values('C9','C#','80')

insert C

values('C10','Python','80')

insert D

values('D6','健美')

insert D

values('D7','体操')

insert D

values('D8','华尔兹')

insert S

values('S10','艾米','男','21','D1')

insert S

values('S11','杜歌','男','22','D1')

insert S

values('S12','王北车','男','23','D7')

insert S

values('S13','张璐','女','24','D8')

insert S

values('S14','洛晴','女','25','D6')

insert T

values('T12','刘伟','男','33','教授','6666','1300','D5')

insert T

values('T13','张一阳','男','44','讲师','7777','2222','D6') insert T

values('T14','曲肖冰','女','22','助教','7222','1600','D7')

insert TC

values('T12','C7')

insert TC

values('T12','C4')

insert TC

values('T12','C8')

insert TC

values('T5','C9')

insert TC

values('T8','C5')

测试命令及测试运行截图:

2. 向SC 表中插入选课记录,为计算机专业的同学选上全部课程,成绩取值为空值。(计算机专业

在专业表中的专业名为计算机) 代码:

--既然要为计算机专业的学生选上全部课程,就要先删除计算机学生已经选过的课程

计算机学生:S1,S2,S5,S10,S11 insert SC (sno ,cno ) select sno ,cno from S ,D ,C

where S .dno =D .dno and D .dn ='计算机'

测试记录:

测试命令及测试运行截图:

3.将课时大于等于80学时的课程全部改为72学时。

代码:

update C set ct=72 where ct>=80测试记录:

测试命令及测试运行截图:

4.删除成绩为空值的选课记录。

代码:

delete from SC where score is null 测试记录:

测试命令及测试运行截图:

5.删除姓名为刘伟的老师的授课记录。代码:

delete from TC

where tno=(

select tno from T

where T.tno=TC.tno

and T.tn='刘伟'

)

测试记录:

测试命令及测试运行截图:

6.调整工资,教授工资增长10%,副教授工资增长20%,讲师工资增长30%。(用单条update命令

完成)

代码:

update T set Sal=Sal*

case prof

when'教授'then 1.1

when'副教授'then 1.2

when'讲师'then 1.3

end

测试记录:

测试命令及测试运行截图:

7.将工资低于平均工资的教师的工资增长10%。代码::

update T set Sal=Sal*1.1

where Sal<(

select AVG(Sal)

from T

)

测试记录:

测试命令及测试运行截图:

8.将工资低于同职称教师平均工资的教师工资增长10%。

代码:

方法1(两个表):

select prof,AVG(Sal)avg into THO from T group by prof select*from THO

--

update T set Sal=Sal*1.1

from T,THO

where T.prof=THO.prof

and T.Sal

方法2:

update T set Sal=Sal*1.1

from T T1

where Sal<

相关文档
最新文档