实验五 数据更新
一、实验目的
掌握数据更新操作的用法。
二、实验环境
三、实验示例
1、往基本表SC中插入元组。
① INSERT INTO S(S#,SNAME,AGE,SEX)
VALUES(\'S36\',\'GU\',20,\'M\');
② INSERT INTO SC(S#,C#)
VALUES(\'S5\',\'C8\');
③ INSERT INTO SC
VALUES(\'S4\',\'C4\',85),
(\'S3\',\'C6\',90),
(\'S7\',\'C2\',70);
④ INSERT INTO S_SCORE(S#, AVG_SCORE)
SELECT S#,AVG(SCORE) FROM SC
WHERE S# IN
(SELECT S# FROM S WHERE SEX=\'M\')
GROVP AY S#
HAVING AVG(SCORE)>80;
2、 把课程名为MATHS的成绩从基本表SC中删除,
DELETE FROM SC
WHERE C# IN (SELECT C# FROM C
WHERE CNAME=\'MATHS\');
3、把C4课程中小于该课程平均成绩的成绩元组从基本表SC中删除。
DELETE FROM SC
WHERE C#=\'C4\'
AND SCORE<(SELECT AVG(SCORE)FROM SC
WHERE C#=\'C4\');
4、对基本表SC和C中的值进行修改。
① 把C5课程的课程名改为DB。
UPDATE C
SET CNAME=\'DB\'
WHERE C#=\'C5\';
② 把女同学的成绩提高10% 。
UPDATE SC
SET SCORE=SCORE * 1.1
WHERE S# IN(SELECT S# FROM S
WHERE SEX=\'F\');
③当C4课的成绩低于该门课程平均成绩时,提高5%。
UPDATE SC
SET SCORE=SCORE * 1.05
WHERE C#=\'C4\'
AND SCORE<(SELECT AVG(SCORE) FROM SC
WHERE C#=\'C4\');
④在C中,把课程号为C5的元组修改为(C5,DB,LIU):
UPDATE C
SET ROW =(\'C5\', \'DB\', \'LIU\')
WHERE C# = \'C5\';
四、实验内容与步骤
1、 往关系C中插一个课程元组(\'C8\',\'VC++\',\'BAO\')。
2、 检索所授每门课程平均成绩均大于80分的教师姓名,并把检索到的值送往另一个已存在的表FACULTY(TNAME)。
3、 在SC中删除尚无成绩的选课元组。
4、 把选修LIU老师课程的女同学选课元组全部删去。
5、 把MATHS课不及格的成绩全改为60分。
6、 把低于所有课程总平均成绩的女同学成绩提高5%。
7、 在表SC中,当某个成绩低于全部课程的平均成绩时,提高5%。