数据库实验及其答案(共15页).doc
《数据库实验及其答案(共15页).doc》由会员分享,可在线阅读,更多相关《数据库实验及其答案(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数据库系统概论实验报告书专业班级学 号姓 名指导教师安徽工业大学计算机学院实验一:数据定义/数据操纵语言 实验日期 2011 年 4 月 10 日 实验目的 熟悉SQL SERVER上机环境;熟练掌握和使用DDL语言,建立、修改和删除数据库表;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 实验内容 1. 先建立数据库:STUDENT用两种方式建立:在查询分析器中以DDL语言方式建立.步骤为:先在指定的地方建立放置数据库文件的文件夹(如学生数据库),然后将建立的数据库文件放到指定的文件夹中.2. SQL数据定义语句: 例1-1: (建立数据库表) 建立教学
2、数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。create table Student(SNO char(5) primary key,SNAME char(8) NULL,SDEPT char(2),SCLASS char(2),SAGE smallint)create table Course(CNO char(3) primary key,CNAME char(16),CTIME smallint)create table Teach(TNAME CHAR(8),TSEX CHAR(2),CNO CHAR(3)
3、,TDATE smalldatetime,TDEPT CHAR(2)create table Score (sno char(5),cno char(3),Score float); 例1-2: (修改数据库表) 在Student表中增加SSEX(C,2) 字段。alter table student add SSEX char(2) 例1-3: (修改数据库表) 将Student表中把Sname 字段修改为Sname(C,10)且为非空。alter table student alter column SNAME char(10) not null 例1-4: (建立数据库表) 建立数据库表
4、S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。create table S1(SNO char(5)primary key,SNAME char(10) not NULL,SD char(2),SA smallint)3. SQL数据操纵语句: 例2-1: (插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。insert into Student values(96001,马小燕,CS,01,女,21);insert into Student values(96002,黎明,
5、CS,01,男,18);insert into Student values(96003,刘东明,MA,01,男,18);insert into Student values(96004,赵志勇,IS,02,男,20);insert into Student values(97001,马蓉,MA,02,女,19);insert into Student values(97002,李成功,CS,01,男,20);insert into Student values(97003,黎明,IS,03,女,19);insert into Student values(97004,李丽,CS,02,女,1
6、9);insert into Student values(96005,司马志明,CS,02,男,18);insert into COURSE values(001,数学分析,144);insert into COURSE values(002,普通物理,144);insert into COURSE values(003,微机原理,80);insert into COURSE values(004,数据结构,72);insert into COURSE values(005,操作系统,80);insert into COURSE values(006,数据库原理,80);insert int
7、o COURSE values(007,编译原理,60);insert into COURSE values(008,程序设计,40);insert into TEACH values(王成刚,男,004,1999.9.5,CS);insert into TEACH values(李正科,男,003,1999.9.5,CS);insert into TEACH values(严敏,女,001,1999.9.5,MA);insert into TEACH values(赵高,男,004,1999.9.5,MA);insert into TEACH values(刘玉兰,女,006,2000.2.
8、23,CS);insert into TEACH values(王成刚,男,004,2000.2.23,IS);insert into TEACH values(马悦,女,008,2000.9.6,CS);insert into Score values(96001,001,77.5);insert into Score values(96001,003,89);insert into Score values(96001,004,86);insert into Score values(96001,005,82);insert into Score values(96002,001,88);
9、insert into Score values(96002,003,92.5);insert into Score values(96002,006,90);insert into Score values(96005,004,92);insert into Score values(96005,005,90);insert into Score values(96005,006,89); 例2-2:(多行插入) 将表Student表中计算机系(CS)的学生数据插入到表S1中。insert into s1 select sno,sname,sdept,sage from student wh
10、ere sdept=cs 例2-3:(利用查询来实现表的定义与数据插入) 求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。create table Student_Gr(Score float)insert into student_gr select avg (score) from score GROUP BY sno 例2-4: (修改数据) 将S1表中所有学生的年龄加2。update s1 set sa=sa+2 例2-5: (修改数据) 将Course表中程序设计课时数修改成与数据结构的课时数相同。update Courseset ctime =(select ct
11、ime from course where cname=数据结构)where cname=程序设计 例2-6: (插入数据) 向Score表中插入数据(98001, 001, 95),根据返回信息解释其原因。insert into Score values(98001,001,95) 添加一条信息成功 例2-7: (插入数据) 向Score表中插入数据(97001, 010, 80),根据返回信息解释其原因。insert into Score values(97001,010,80) 插入一条信息成功例2-8: (删除数据) 删除Score表中学号为96001的成绩信息,根据返回信息解释其原因
12、。delete from score where sno=96001将四行学号是96001的学生信息删去例2-9: (删除数据) 删除Score表中课程号为003 的成绩信息,根据返回信息解释其原因。delete from score where cno=003 将一条课程号是003的信息删去 例2-10:(删除数据) 删除学生表S1中学号以96打头的学生信息。delete from s1 where sno like 96% 例2-11:(删除数据) 删除数据库表S1中所有学生的数据。delete from s1 例2-12:(删除表) 删除数据库表S1和Student_Gr。drop ta
13、ble s1,student_gr 实验要求 熟悉SQL Server上机环境; 建立数据库表,修改数据库表结构; 对数据库表进行插入、修改和删除数据的操作。 实验方法 执行SQL语句; 将实验需求用SQL语句表示; 查看执行结果,如果结果不正确,进行修改,直到正确为止。 实验总结 SQL语句以及执行结果;Sql语句已经验证成功 对重点实验结果进行分析; 实验中的问题和提高;遇到不会的问题,主动查找资料,知道了怎样解决问题。 收获与体会。熟悉了数据库基本的表的建立,删去,修改等操作 实验二:数据查询语言 实验日期 2011 年 4 月 14 日 实验目的 体会SQL语言数据查询功能的丰富和复杂
14、。 实验内容 3 SQL数据查询语句: 例3-1: (选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。select sno,sname,ssex,sage from student 例3-2: (不选择重复行) 求选修了课程的学生学号。select distinct sno from score 例3-3: (选择表中的所有列) 求全体学生的详细信息。Select * from student 例3-4: (使用表达式) 求全体学生的学号、姓名和出生年份。select sno,sname,year( getdate ()-sage from student 例3-5: (使用列的别名)
15、 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。select sno as 学号,sname,year( getdate ()-sage as 出生年月 from student 例3-6: (比较大小条件) 求年龄大于19岁的学生的姓名和年龄。select sname,sage from student where sage19 例3-7: (比较大小条件) 求计算机系或信息系年龄大于18岁的学生的姓名、系和年龄。select sname,sdept,sage from student where sage18 and sdept in (cs,is) 例3-8: (确定范围
16、条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。select sno,sage from student where sage between 19 and 22 例3-9: (确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。select sno,sage from student where sage not between 19 and 22 例3-10:(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。select * from student where sdept in (cs,ma) 例3-11:(确定集合条件) 求不是数学系、计
17、算机系的学生信息。select * from student where sdept not in (cs,ma) 例3-12:(匹配查询) 求姓名是以“李”打头的学生。select * from student where sname like 李% 例3-13:(匹配查询) 求姓名中含有“志”的学生。select * from student where sname like %志% 例3-14:(匹配查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。select * from student where sname like %_马_% 例3-15:(匹配查询) 求选修
18、课程001或003,成绩在80至90之间,学号为96xxx的学生的学号、课程号和成绩。select distinct cno,student.sno,score from student,scorewhere student.sno=score.sno and cno in (001,003) and score between 80 and 90and student.sno like 96% 例3-16:(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。select sno,cno from score where score is null 例3-17:(控制行的显示顺序) 求选修0
19、03课程或004课程的学生的学号、课程号和分数。select sno,cno,score from score where cno in (003,004) 例3-18:(组函数) 求学生总人数。select count(distinct sno) from student 例3-19:(组函数) 求选修了课程的学生人数。select count( distinct sno) from score 例3-20:(组函数) 求计算机系学生的平均年龄。select avg( distinct sage) from student where sdept=cs 例3-21:(组函数) 求选修了课程0
20、01的最高、最低与平均成绩。select max(score),min(score),avg(score) from score where o=001 例3-22:(分组查询) 求各门课程的平均成绩与总成绩。select cno,avg(score),count(score) from score group by cno 例3-23:(分组查询) 求各系、各班级的人数和平均年龄。select count(sno),avg(sage),sclassfrom student group by sclass unionselect count(sno),avg(sage),sdeptfrom s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 及其 答案 15
限制150内