数据库原理第三次实验

更新时间:2023-11-13 11:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 数据更新

一、学时 2学时

二、实验类型 验证性、设计性 三、实验目的

1、熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用; 2、加深理解表的定义对数据更新的作用。 四、实验内容

(一)利用查询分析器在表中插入数据

打开在实验一中建立的“学生课程”数据库,在“SCDB”数据库中的student、course、

sc表中插入数据;

student表的内容:

SNO 95001 95002 95003

SNAME 李勇 刘晨 王敏

SSEX 男 女 女

SAGE 20 19 18

SDEPT CS IS MA

course表的内容

CNO 1 2 3 4 5

CNAME 数据库 数学 信息系统 操作系统 数据处理

CPNO 5 NULL 1 NULL NULL

CREDIT

4 2 4 3 2

sc表的内容

SNO 95001 95001 95001 95002 95002

Answer: insert

into student(sno,sname,ssex,sage,sdept) values('95001','李勇','男',20,'CS'); insert

into student(sno,sname,ssex,sage,sdept) values('95002','刘晨','女',19,'IS');

CNO 1 2 3 2 3 GRADE 92 65 88 90 80

insert

into student(sno,sname,ssex,sage,sdept) values('95003','王敏','女',18,'MA'); select * from student; insert

into course(cno,cname,cpno,ccredit) values('1','数据库','5',4); insert

into course(cno,cname,cpno,ccredit) values('2','数学',NULL,2); insert

into course(cno,cname,cpno,ccredit) values('3','信息系统','1',4); insert

into course(cno,cname,cpno,ccredit) values('4','操作系统',NULL,3); insert

into course(cno,cname,cpno,ccredit) values('5','数据处理',NULL,2); select * from course; insert

into sc(SNO,CNO,GRADE) values('95001','1',92); insert

into sc(SNO,CNO,GRADE)

values('95001','2',65); insert

into sc(SNO,CNO,GRADE) values('95001','3',88); insert

into sc(SNO,CNO,GRADE) values('95002','2',90); insert

into sc(SNO,CNO,GRADE) values('95002','3',80); select * from sc;

(二)修改表中的数据

在插入数据后的三张表S、C、SC中进行相关的更新操作: 1、将student表中‘李勇’的名字改为‘李明’;

2、将student表中‘王敏’的年龄改为20岁; 3、将所有学生的年龄增加1岁;

4、修改学生的学号‘95002’为‘95005’,注意表之间的关系,保持一致性; 5、把选修了“2”号课程,且成绩低于70分的成绩提高5%; 6、将“CS”系全体学生的成绩置零;

Answer:

update student set sname='李明' where sno=95001;

select *

from student;

update student set sage=20

where sname='王敏';

select *

from student;

update student set sage=sage+1;

select *

from student;

update student set sno='95005' where sno='95002';

select *

from student;

update sc

set grade=grade*(1+0.05) where cno='2'and grade<70;

select *

from sc;

update sc set grade=0 where 'cs'= (select sdept from student

where student.sno=sc.sno);

select * from sc;

(三)删除表中的数据

1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉; 2、删除学号为“95003”的相关信息; 3、删除\系选修了\号课程的选课记录;

4、删除“CS”系的全体学生的选课记录;

5、删除整张表的数据,注意表之间的关系,保持一致性。

Answer:

update sc set grade=0

where cno='2'and grade<70;

select * from sc;

delete

from student where sno='95003';

select * from student;

delete from sc

where 'is' in (select sdept from student )

and cno='2';

select * from sc;

delete from sc

where 'cs'=

(select sdept from student

where student.sno=sc.sno );

select * from sc;

delete from sc;

select * from sc; 五、实验要求

独立完成,并提交实验报告。 实验报告内容:

实验时间,实验地点,实验题目,实验目的,实验内容,回答课后思考题。 六、实验思考题

1、使用SQL的更新语句时,一次可以对几个表进行更新。

2、比较在进行相关更新操作时,定义/未定义主码或外码时操作有和异同。

本文来源:https://www.bwwdw.com/article/oeev.html

Top