【实验11 】
在Gradem或Gradem1数据库中完成下面操作:
注意:在完成实验题目前先备份Student、SC、Course这3个表,备份表名自定,备份方式自选。
(1) 向Student表中插入一条记录,学号为:2019031102、姓名为:张静、性别为:女、手机号为:12345678901、家庭地址为:潍坊市奎文区、出生日期为:1981.3.21、班级号为:20190311、系别为:软件系。
INSERT INTO student
VALUES('2019031102','张静','女','12345678901',
'潍坊市奎文区','1981.3.21','20190311','软件系');
(2) 插入学号为“2019031201”、姓名为“李四”的学生信息。
INSERT INTO student(sno,sname)
VALUES('2019031201','李四');
(3) 向sc表中插入一条记录:sno为2019031301,cno为C22,成绩为98。(注意外键约束,确保该条记录能够插入成功,将执行的每条语句复制)
INSERT INTO student(sno)
VALUES('2019031301');
INSERT INTO course(cno)
VALUES('c22');
INSERT INTO sc
VALUES('2019031301','C22','98');
(4) 将学号为“2019031102”的学生姓名改为“张华”,系别改为“计算机系”。
UPDATE student SET sname='张华',sdept='计算机系'
WHERE sno=2019031102;
(5) 把选修了三门课程的学生的学号及平均成绩插入到avgdegree(sno,avg)中。(使用两种方式实现:insert和create语句)
- 使用create:
CREATE TABLE avgdegree
SELECT sno,avg(degree)
FROM sc
GROUP BY sno
HAVING COUNT(sno)=3;
- 使用insert:
先创建一个新表avgdegree
INSERT INTO avgdegree
SELECT sno,avg(degree)
FROM sc
GROUP BY sno
HAVING COUNT(sno)=3;
(6) 将“王洪利”同学的系改为“电子系”。
UPDATE student SET sdept='电子系'
WHERE sname='王洪利';
(7) 删除学号为“2019031102”的学生记录。
DELETE FROM student
WHERE sno='2019031102';
(8) 删除“计算机系”所有学生的选课记录。
DELETE FROM sc
WHERE sno IN
(SELECT sno
FROM student
WHERE sdept='计算机系');
(9) 删除sc表中尚无成绩的选课记录。
DELETE FROM sc
WHERE degree IS NULL;
(10) 把“孙晋梅”同学的成绩全部删除。
DELETE FROM sc
WHERE sno IN
(SELECT sno
FROM student
WHERE sname='孙晋梅');