【SQL语言——更新操作命令】

利用INSERT、UPDATE和DELETE命令(或语句)实现对表(或视图)数据的添加、修改与删除等更新操作,这里主要研究对表的操作。

1.在学生表Student和学生选课表SC中分别添加数据记录;

Insert into student values('98010','赵青江',18,'男','CS')

Insert into student values('98011','张丽萍',19,'女','CH')

Insert into student values('98012','陈景欢',20,'男','IS')

Insert into student values('98013','陈婷婷',16,'女','EH')

Insert into student values('98014','李军',16,'女','EH')

Insert into sc values('98010','1',87)

Insert into sc(sno,cno) values('98010','2')

Insert into sc values('98011','3',80)

Insert into sc values('98010','4',87)

Insert into sc values('98010','6',85)

Insert into sc values('98011','1',52)

Insert into sc values('98011','2',47)

Insert into sc values('98011','3',53)

Insert into sc values('98011','5',45)

Insert into sc values('98012','1',84)

Insert into sc(sno,cno) values('98012','3')

Insert into sc values('98012','4',67)

Insert into sc values('98012','5',81)

2.备份Student表TS中,并清空TS表。

select* into ts from student

delete from ts

3.给IS系的学生开设7号课程,建立所有相应的选课记录,成绩暂定为60分。

insert into sc(sno,cno,grade)

select sno,7,60

from student where sdept='is'

4.把年龄小于等于16岁的女生记录保存到表TS中。

insert into ts

select sno,sname,sage,ssex,sdept

from student where ssex='女' and sage<=16

5.在表Student中检索每门课均不及格的学生学号、姓名、性别及所在系等信息,并把检索到的信息存入TS表中。

insert into ts

select * from student where not exists

(select grade,sno from sc 

where sc.sno=student.sno and grade>=60)

6.将学号为“98011”的学生该名为刘华,年龄增加1岁。

update student 

set sname='刘华', sage=sage+1 where sno='98011'

7.把选修了“数据库系统”课程而成绩不及格的学生的成绩全改为空值(NULL)。

update sc set grade=null 

where grade<60 and cno in

(select cno from course where cname='数据库系统')

8.将Student的前4位学生的年龄均增加1岁。

Update student

set sage=sage+1

where sno in (select top 4 sno from student [order by sno])

9.学生王林在3号课程考试中作弊,该课成绩改为空值(NULL)。

UPDATE SC SET Grade = null

WHERE Cno = '3' AND Sno IN (SELECT Sno FROM Student WHERE Sname = '王林')

10.把成绩低于总平均成绩的女同学的成绩提高50%。

UPDATE SC SET Grade = Grade * 1.5 WHERE Grade<(SELECT AVG(Grade) FROM SC) 

AND Sno IN(SELECT Sno FROM Student WHERE Ssex = '女')

11.在基本表SC中修改课程号为“2”号课程的成绩,若成绩小于等于80分时降低2%,若成绩大于80分时降低1%(用两个UPDATE语句实现)。

UPDATE SC  SET Grade = Grade*0.98 WHERE Cno = '2' AND Grade<=80

UPDATE SC SET Grade = Grade*0.99 WHERE Cno = '2' AND Grade>80     

12.利用“select into…”命令来备份Student、SC、Course三表,备份表名自定。

SELECT * INTO STUDENT1 FROM Student;

SELECT * INTO SC1 FROM SC;

SELECT * INTO Course1 FROM Course;

13.在基本表SC中删除尚无成绩的选课元组。

DELETE SC WHERE GRADE IS NULL

14.把“钱横”同学的选课情况全部删去。

DELETE SC WHERE Sno IN(SELECT Sno FROM Student WHERE Sname = '钱横')

15.能删除学号为“98005”的学生记录吗?如果一定要删除该记录,该如何操作?给出操作命令。

DELETE SC WHERE Sno = '98005'

16.删除姓“张”的学生的记录。

DELETE SC  WHERE Sno IN

(SELECT Sno FROM Student WHERE Sname LIKE '张%')

DELETE Student WHERE Sname LIKE '张%' 

17.清空Student与Course两表。

DELETE SC  

DELETE STUDENT

DELETE COURSE

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值