当前位置:文档之家› 数据库SQL语句实验报告

数据库SQL语句实验报告

《数据库原理及应用》实验报告SQL语句部分总成绩:实验一熟悉SQL SERVER,数据定义实验实验一成绩:一、实验目的1、利用查询分析器创建数据库2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作二、实验步骤及内容在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。

1.创建学生课程数据库3.创建课程关系表C :5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。

6、在表S上增加“出生日期”属性列。

7、删除表S的“年龄”属性列。

8、删除S姓名列的唯一值约束。

9、修改SC表成绩属性列为精确数字型。

10、在表S上,按“Sno”属性列的唯一值方式建立索引。

11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。

12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。

三、实验结果:1.创建学生课程数据库create database Studend;create table S(Sno CHAR(9)PRIMARY KEY,Sname CHAR(20)UNIQUE,Ssex CHAR(2),Sage smallint,Sdept char(20),);3.创建课程关系表C :课程号课程名先行课学分Cno Cname Cpno ccreditcreate table C(Cno char(4)primary key,Cname CHAR(40),Cpno char(4),Ccredit SMALLINT,);4.创建课程关系表SC :学号课程号成绩Sno Cno grade create table SC(Sno char(9),Cno char(4),Grade smallint,);5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。

6、在表S上增加“出生日期”属性列。

alter table S add Sbirthday datetime;7、删除表S的“年龄”属性列。

alter table S drop column Sage;8、删除S姓名列的唯一值约束。

alter table S drop UQ__S__7D78A4E7;9、修改SC表成绩属性列为精确数字型。

alter table SC alter column Grade int;10、在表S上,按“Sno”属性列的唯一值方式建立索引。

create unique index Stusno on S(Sno);11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。

drop table SC;12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。

实验二数据更新实验实验二成绩:一、实验目的1、熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用2、加深理解表的定义对数据更新的作用二、实验步骤及内容(一)利用查询分析器在表中插入数据打开在实验一中建立的“学生课程”数据库;在“SCDB”数据库中的student、course、sc表中插入数据;student表的内容:SNO SNAME SSEX SAGE SDEPT95001 李勇男 20 CS95002 刘晨女 19 IS95003 王敏女 18 MAcourse表的内容CNO CNAME CPNO CREDIT1 数据库 5 42 数学 NULL 23 信息系统 1 44 操作系统 NULL 35 数据处理 NULL 2sc表的内容SNO CNO GRADE95001 1 9295001 2 6595001 3 8895002 2 9095002 3 80(二)修改表中的数据在插入数据后的三张表S、C、SC中进行相关的更新操作:1、将student表中‘李勇’的名字改为‘李明’;2、将student表中‘王敏’的年龄改为20岁;3、将所有学生的年龄增加1岁;4、修改学生的学号‘95002’为‘95005’,注意表之间的关系,保持一致性;5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;6、将“CS”系全体学生的成绩置零;(三)删除表中的数据1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;2、删除学号为“95003”的相关信息;3、删除"IS"系选修了"2"号课程的选课记录;4、删除“CS”系的全体学生的选课记录;5、删除整张表的数据,注意表之间的关系,保持一致性。

三、实验结果:(一)利用查询分析器在表中插入数据打开在实验一中建立的“学生课程”数据库;在“SCDB”数据库中的student、course、sc表中插入数据;student表的内容:SNO SNAME SSEX SAGE SDEPT95001 李勇男 20 CS95002 刘晨女 19 IS95003 王敏女 18 MAcourse表的内容CNO CNAME CPNO CREDIT1 数据库 5 42 数学 NULL 23 信息系统 1 44 操作系统 NULL 35 数据处理 NULL 2sc表的内容SNO CNO GRADE95001 1 9295001 2 6595001 3 8895002 2 9095002 3 80insertinto S(Sno,Sname,Ssex,Sage,Sdept)values('95001','李勇','男',20,'CS');insertinto S(Sno,Sname,Ssex,Sage,Sdept)values('95002','刘晨','女',19,'IS');insertinto S(Sno,Sname,Ssex,Sage,Sdept)values('95003','王敏','男',20,'CS');select*from S;insertinto C(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4);insertinto C(Cno,Cname,Cpno,Ccredit)values('2','数学',NULL,2);insertinto C(Cno,Cname,Cpno,Ccredit) values('3','信息系统','1',4);insertinto C(Cno,Cname,Cpno,Ccredit) values('4','操作系统',NULL,3);insertinto C(Cno,Cname,Cpno,Ccredit) values('5','数据处理',NULL,2);insertinto SC(Sno,Cno,Grade)values('95001','1',92);insertinto SC(Sno,Cno,Grade)values('95001','2',65);insertinto SC(Sno,Cno,Grade)values('95001','3',88);insertinto SC(Sno,Cno,Grade)values('95002','2',90);insertinto SC(Sno,Cno,Grade)values('95002','3',80);(二)修改表中的数据在插入数据后的三张表S、C、SC中进行相关的更新操作:1、将student表中‘李勇’的名字改为‘李明’;update Sset Sname='李明'where Sno='95001';2、将student表中‘王敏’的年龄改为20岁;update Sset Sage=20where Sname='王敏';3、将所有学生的年龄增加1岁;update Sset Sage=Sage+1;4、修改学生的学号‘95002’为‘95005’,注意表之间的关系,保持一致性;update Sset Sno='95005'where Sno='95002';5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;update SCset Grade=Grade*where Cno='2'and Grade<70;6、将“CS”系全体学生的成绩置零;update SCset Grade=0where'CS'=(select Sdept from S where=;(三)删除表中的数据1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;delete from SCwhere Cno='2'and Grade<70;2、删除学号为“95003”的相关信息;delete from Swhere Sno='95003';3、删除"IS"系选修了"2"号课程的选课记录;delete from SCwhere Cno='2'and Sno in(select Sno from S where Sdept='IS');4、删除“CS”系的全体学生的选课记录;delete from SCwhere'CS'=(select Sdept from S where=;5、删除整张表的数据,注意表之间的关系,保持一致性。

delete from SC;实验三数据查询实验实验三成绩:一、实验目的熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算)二、实验方法及步骤1.在表student,course,sc上进行简单查询;2.在表student,course,sc上进行连接查询;3.在表student,course,sc上进行嵌套查询;4.使用聚合函数的查询;5.对数据的分组查询;6.对数据的排序查询。

三、实验内容在表student,course,sc上完成以下查询:1、查询学生的基本信息;2、查询“CS”系学生的基本信息;3、查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;4、找出最大年龄;5、找出“CS”系年龄最大的学生,显示其学号、姓名;6、统计“CS”系学生的人数;7、统计各系学生的人数,结果按升序排列;8、按系统计各系学生的平均年龄,结果按降序排列;9、查询每门课程的课程名;10、统计无先修课的课程的学分总数;11、查询选修了“1”或“2”号课程的学生学号和姓名;12、查询选修了“1”和“2”号课程的学生学号和姓名;13、查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;14、查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);15、查询没有选修课程的学生的基本信息;16、查询选修了3门以上课程的学生学号;17、查询选修课程成绩至少有一门在80分以上的学生学号;18、查询选修课程平均成绩在80分以上的学生学号;19、(选做)统计每位学生选修课程的门数、学分及其平均成绩;20、(选做)找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列。

相关主题