数据库查询 实验报告(优选.)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改
赠人玫瑰,手留余香。
实验报告
课程名称:数据库系统概论
学院:工程学院
专业:
年级:班级:
姓名:学号:
指导教师:
2015 年 12 月 10 日
教务处制
1.在建立3.2节学生-课程数据库的基础上,完成课本例3.69-97的各例题;
2. 根据以下要求认真填写实验报告,记录所有的实验用例。
4 实验方法及步骤
例3.69将一个新学生元组(学号:201215128,姓名:陈东,性别:男,年龄:18,所在系:IS)插入到student表中。
INSERT INTO "S-C"."STUDENT"
("SNO","SNAME","SSEX","SDEPT","SAGE" )
VALUES ('201215128','陈冬','男','IS',18 );
select* from "S-C"."STUDENT"
注意:在INTO子句中指出了表名student,并指出了新增加的元组在哪些属性上要赋值,属性的顺序可以与CREATE TABLE中的顺序不一样。
例3.70将学生张成民的信息插入到student表中。
INSERT INTO "S-C"."STUDENT"
VALUES
('201215126','张成民','男','18','CS' );
select* from "S-C"."STUDENT"
注意:值与属性要一一对应。
例3.71插入一条选课记录('201215128','1')
INSERT INTO "S-C".sc(sno,cno)
VALUES
('201215128','1');
SELECT*
from "S-C".sc;
注意:在新插入的记录中GRADE列自动地赋空值。
或者:INSERT INTO "S-C".sc
VALUES
('201215128','1',null);
SELECT*
from "S-C".sc;
注意:若直接在SC中直接插入选课记录,由于没有指出SC的属性名,在GRADE列上要明确给出空值NULL。
例3.72对每一个系,求学生的平均年龄,并把结果存入数据库中。创建新表
CREATE TABLE dept_age(
sdept CHAR (15),
avg_age smallint
);
把系名和平均年龄存入新表
insert
into dept_age(Sdept,avg_age)
select sdept,avg(sage)
from "S-C".student
group by sdept;
例3.73将学生200215121的年龄改为22岁。
UPDATE "S-C"."STUDENT"
SET Sage=22
WHERE sno=200215121;
select*
from "S-C".student;
例3.74将所有学生的年龄增加1岁。UPDATE "S-C"."STUDENT"
SET Sage=sage+1;
select*
from "S-C".student;
例3.75将计算机科学系全体学生的成绩置零。UPDATE "S-C"."SC"
SET Grade=0
where sno in
(select sno
from "S-C".student
where sdept='cs');
SELECT*
FROM "S-C".SC;
例3.76删除学号为201215128的学生记录。
DELETE
from "S-C".student
WHERE sno='201215128';
select*
from "S-C".student;
例3.77删除所有学生选课记录
DELETE
FROM "S-C".SC;
SELECT*
FROM "S-C".SC;
注意:这条DELETE语句将使SC成为空表,它删除了SC的所有元组。
例3.78删除计算机科学系所有学生的选课记录
SELECT*
FROM "S-C".SC;
DELETE from "S-C".sc
WHERE sno in
(select sno from "S-C".student
where sdept='cs');
注意:由于SC表全是CS系的,故结果为空表。
例3.79 向SC表中插入一个元组
INSERT INTO "S-C".SC(SNO,CNO,GRADE)
VALUES('201215128','1',NULL); /*在插入该学生还没有考试成绩,取空值*/ 或者:INSERT INTO "S-C".SC(SNO,CNO)
VALUES('201215126','1'); /*在插入语句中没有赋值的属性,其值为空值*/ SELECT* FROM "S-C"."SC";
例3.80 将student表中学生号201215123的学生所属的系改为空值
UPDATE "S-C".STUDENT
SET SDEPT=NULL
WHERE SNO='201215123';
SELECT* FROM "S-C"."STUDENT";