SQL数据更新——综合练习

S,SC,C关系表

设有学生-课程关系数据库,它由三个关系组成,它们的模式是:
学生S(学号SNO,姓名SN,所在系DEPT,年龄AGE);
课程C(课程号CNO,课程名CN,先修课号CPNO);
SC(学号SNO,课程号CNO,成绩SCORE)

请用SQL语句写出下列更新操作:
(1)在关系C中增添一门新课(新课号:C9,课程名:软件工程,先修课程号:C1)

INSERT
INTO C
VALUES('C9','软件工程','C1')

(2) 学号为S17的学生因故退学请在S与SC中将其信息去除

DELETE
FROM SC
WHERE SNO='S17' --先将SC关系表中相关数据删除
DELETE
FROM S
WHERE SNO='S17'

(3)将关系S中学生S6的年龄改为22岁

UPDATE S
SET AGE=22
WHERE SNO='S6'

(4)将关系S中学生的年龄均增加1岁

UPDATE S
SET AGE=AGE+1

(5)把王非同学的学生信息及其选课情况等全部删除

DELETE
FROM SC
WHERE SNO IN
	(SELECT SNO
 	FROM S
 	WHERE SN='王非')
DELETE
FROM S
WHERE SN='王非'

(6)在课程表中添加一门新课程,其信息为:(‘C8’,‘信息系统概论’,‘孙力’)

INSERT
INTO C
VALUES('C8','信息系统概论','孙力')

(7)在选修关系表SC中添加所有学生对’C8’课程的选修关系记录,成绩暂定为60,请用一条命令完成本批量添加任务

INSERT 
INTO SC(SNO,CNO,SCORE)
SELECT SNO,'C8',60
FROM S

(8) 把选“信息系统概论”课程的男学生的成绩暂全部初始化重新设置为0

UPDATE SC
SET SCORE=0
WHERE CNO IN
	(SELECT CNO
 	FROM C
 	WHERE CN='信息系统概论') AND SNO IN
	(SELECT SNO
 	FROM S
	WHERE SEX='男')

S,P,J,SPJ关系表

设有四个关系(只示意性给出一条记录):
在这里插入图片描述

S(SNO,SNAME, ADDRESS,TEL)其中,SNO:供应商代码 SNAME:姓名 ADDRESS:地址 TEL:电话;
J(JNO,JNAME,LEADER,BG)其中,JNO:工程代码 JNAME:工程名 LEADER:负责人 BG:预算;
P(PNO,PNAME,SPEC,CITY,COLOR)其中,PNO:零件代码 PNAME:零件名 SPEC:规格 CITY:产地 COLOR:颜色;
SPJ(SNO,PNO,JNO,QTY)其中,SNO:供应商代码 JNO:工程代码 PNO:零件代码 QTY:数量;

完成如下查询:
(9)把全部红色零件的颜色改成蓝色

UPDATE P
SET COLOR='蓝'
WHERE COLOR='红'

(10)由S10供给J4的零件P6改为由S8供应,请作必要的修改

UPDATE SPJ
SET SNO='S8'
WHERE SNO='S10' AND PNO='P6' AND JNO='J4'

(11)从供应商关系中删除S2的记录,并从供应零件关系中删除相应的记录

DELETE
FROM SPJ
WHERE SNO='S2'
DELETE 
FROM S
WHERE SNO='S2'

(12)请将 (S2, P4, J8, 200) 插入供应零件关系

INSERT
INTO SPJ
VALUES('S2','P4','J8',200)

(13)将工程J2的预算改为40万元

UPDATE J
SET BG=40
WHERE JNO='J2'

(14)删除工程J8订购的由S4提供零件的所有供应信息

DELETE
FROM SPJ
WHERE JNO='J8' AND SNO='S4'
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芷汀若静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值