您好,欢迎访问三七文档
《数据库概论》实验1/15《数据库系统概论》实验报告书安徽工业大学计算机学院专业班级学号姓名指导教师《数据库概论》实验2/15实验一:数据定义/数据操纵语言[实验日期]2011年4月10日[实验目的]熟悉SQLSERVER上机环境;熟练掌握和使用DDL语言,建立、修改和删除数据库表;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。[实验内容]1.先建立数据库:STUDENT用两种方式建立:在查询分析器中以DDL语言方式建立.步骤为:先在指定的地方建立放置数据库文件的文件夹(如学生数据库),然后将建立的数据库文件放到指定的文件夹中.2.SQL数据定义语句:例1-1:(建立数据库表)建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2)字段,Sname字段为Sname(C,8)且可为空。createtableStudent(SNOchar(5)primarykey,SNAMEchar(8)NULL,SDEPTchar(2),SCLASSchar(2),SAGEsmallint)createtableCourse(CNOchar(3)primarykey,CNAMEchar(16),CTIMEsmallint)createtableTeach(TNAMECHAR(8),TSEXCHAR(2),CNOCHAR(3),TDATEsmalldatetime,TDEPTCHAR(2))createtableScore(snochar(5),cnochar(3),Scorefloat);例1-2:(修改数据库表)在Student表中增加SSEX(C,2)字段。altertablestudentaddSSEXchar(2)例1-3:(修改数据库表)将Student表中把Sname字段修改为Sname(C,10)且为非空。altertablestudentaltercolumnSNAMEchar(10)notnull例1-4:(建立数据库表)建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。createtableS1(SNOchar(5)primarykey,SNAMEchar(10)notNULL,SDchar(2),SAsmallint)3.SQL数据操纵语句:例2-1:(插入数据)按前面各表中的数据分别插入到教学数据库的四个数据库表中。insertintoStudentvalues('96001','马小燕','CS','01','女',21);insertintoStudentvalues('96002','黎明','CS','01','男',18);insertintoStudentvalues('96003','刘东明','MA','01','男',18);insertintoStudentvalues('96004','赵志勇','IS','02','男',20);insertintoStudentvalues('97001','马蓉','MA','02','女',19);insertintoStudentvalues('97002','李成功','CS','01','男',20);insertintoStudentvalues('97003','黎明','IS','03','女',19);insertintoStudentvalues('97004','李丽','CS','02','女',19);《数据库概论》实验3/15insertintoStudentvalues('96005','司马志明','CS','02','男',18);insertintoCOURSEvalues('001','数学分析',144);insertintoCOURSEvalues('002','普通物理',144);insertintoCOURSEvalues('003','微机原理',80);insertintoCOURSEvalues('004','数据结构',72);insertintoCOURSEvalues('005','操作系统',80);insertintoCOURSEvalues('006','数据库原理',80);insertintoCOURSEvalues('007','编译原理',60);insertintoCOURSEvalues('008','程序设计',40);insertintoTEACHvalues('王成刚','男','004','1999.9.5','CS');insertintoTEACHvalues('李正科','男','003','1999.9.5','CS');insertintoTEACHvalues('严敏','女','001','1999.9.5','MA');insertintoTEACHvalues('赵高','男','004','1999.9.5','MA');insertintoTEACHvalues('刘玉兰','女','006','2000.2.23','CS');insertintoTEACHvalues('王成刚','男','004','2000.2.23','IS');insertintoTEACHvalues('马悦','女','008','2000.9.6','CS');insertintoScorevalues('96001','001',77.5);insertintoScorevalues('96001','003',89);insertintoScorevalues('96001','004',86);insertintoScorevalues('96001','005',82);insertintoScorevalues('96002','001',88);insertintoScorevalues('96002','003',92.5);insertintoScorevalues('96002','006',90);insertintoScorevalues('96005','004',92);insertintoScorevalues('96005','005',90);insertintoScorevalues('96005','006',89);例2-2:(多行插入)将表Student表中计算机系(‘CS’)的学生数据插入到表S1中。insertintos1selectsno,sname,sdept,sagefromstudentwheresdept='cs'例2-3:(利用查询来实现表的定义与数据插入)求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。createtableStudent_Gr(Scorefloat)《数据库概论》实验4/15insertintostudent_grselectavg(score)fromscoreGROUPBYsno例2-4:(修改数据)将S1表中所有学生的年龄加2。updates1setsa=sa+2例2-5:(修改数据)将Course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。updateCoursesetctime=(selectctimefromcoursewherecname='数据结构')wherecname='程序设计'例2-6:(插入数据)向Score表中插入数据(‘98001’,‘001’,95),根据返回信息解释其原因。insertintoScorevalues('98001','001',95)添加一条信息成功例2-7:(插入数据)向Score表中插入数据(‘97001’,‘010’,80),根据返回信息解释其原因。insertintoScorevalues('97001','010',80)插入一条信息成功例2-8:(删除数据)删除Score表中学号为‘96001’的成绩信息,根据返回信息解释其原因。deletefromscorewheresno='96001'将四行学号是96001的学生信息删去例2-9:(删除数据)删除Score表中课程号为‘003’的成绩信息,根据返回信息解释其原因。deletefromscorewherecno='003'将一条课程号是003的信息删去例2-10:(删除数据)删除学生表S1中学号以96打头的学生信息。deletefroms1wheresnolike'96%'例2-11:(删除数据)删除数据库表S1中所有学生的数据。deletefroms1例2-12:(删除表)删除数据库表S1和Student_Gr。droptables1,student_gr[实验要求]①熟悉SQLServer上机环境;②建立数据库表,修改数据库表结构;③对数据库表进行插入、修改和删除数据的操作。[实验方法]《数据库概论》实验5/15①执行SQL语句;②将实验需求用SQL语句表示;③查看执行结果,如果结果不正确,进行修改,直到正确为止。[实验总结]①SQL语句以及执行结果;Sql语句已经验证成功②对重点实验结果进行分析;③实验中的问题和提高;遇到不会的问题,主动查找资料,知道了怎样解决问题。④收获与体会。熟悉了数据库基本的表的建立,删去,修改等操作《数据库概论》实验6/15实验二:数据查询语言[实验日期]2011年4月14日[实验目的]体会SQL语言数据查询功能的丰富和复杂。[实验内容]3.SQL数据查询语句:例3-1:(选择表中的若干列)求全体学生的学号、姓名、性别和年龄。selectsno,sname,ssex,sagefromstudent例3-2:(不选择重复行)求选修了课程的学生学号。selectdistinctsnofromscore例3-3:(选择表中的所有列)求全体学生的详细信息。Select*fromstudent例3-4:(使用表达式)求全体学生的学号、姓名和出生年份。selectsno,sname,year(getdate())-sagefromstudent例3-5:(使用列的别名)求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。selectsnoas学号,sname,year(getdate())-sageas出生年月fromstudent例3-6:(比较大小条件)求年龄大于19岁的学生的姓名和年龄。selectsname,sagefromstudentwheresage19例3-7:(比较大小条件)求计算机系或信息系年龄大于18岁的学生的姓名、系和年龄。selectsname,sdept,sagefromstudentwheresage18andsdeptin('cs','is')例3-8:(确定范围条件)求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。selectsno,sagefromstudentwheresagebetween19and22例3-9:(确定范围条件)求年龄不在19岁与22岁之间的学生的学号和年龄。selectsno,sagefromstudentwheresagenotbetween19and22例3-10:(确定集合条件)求在下列各系的学生信息:数学系、计算机系。select*fromstudentwheresdeptin('cs','ma')例3-11:(确定集合条件)求不是数学系、计算机系的学生信息。select*fromstudentwheresdeptnotin('cs','ma')例3-12:(匹配查询)求姓名是以“李”打头的学生。select*fromstudentwheresnamelike'李%'例3-13:(匹配查询)求姓名中含有“志”的学生。select*fromstudentwheresnamelike'%志%'例3-14:(匹配查询)求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。《数据库概
本文标题:数据库实验及其答案
链接地址:https://www.777doc.com/doc-8304635 .html