您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 数据库第3章上机报告
实验二实习报告内容:(1)连接后打开左面的树状表,MicrosoftSqlServer--SQLServer组--LOCAL下面有数据库,数据转换服务,管理,复制,安全性等等,右击数据库,选择新建数据库(2开始-MSSQLServe-查询分析器(或在企业管理器界面中:开始-查询分析器)-在查询分析器下拉选择框中,选中GrandeManager,使之成为当前操作的数据库,在编辑框中键入SQL语句创建Worker表思考题:1:三种;主数据文件的后缀是mdf;次数据文件的后缀是ndf;日志文件的后缀是ldf。2:1)字符型数据:1.char[(n)]:长度为n的固定长度字符串,其中n最大可以是8000;2.varchar[(n)]:表示一个长度为n的固定长度字符串,其中n最大可以达到800。3.text:如果字符长度超过8000个,则可使用text数据类型,长度达2GB。2)整型数据类型:1.Bigint:8个字节,64位2.Int:4个字节,32位3.Smallint:2个字节,16位3.Tinyint:1个字节,8位3)精确数据类型:decinal和numeric4)浮点数据类型:1.float:7位有效数字,4个字节或15位有效数字,8个字节2.Real:4个字节5)货币型数据类型:1.money2.smallmoney6)日期时间型数据类型:1.Datetime:8个字节2.Smalldatetime:4个字节7)统一字符数据类型8)布尔数据类型实验三:CREATETABLEStudent(SnoChar(7)NOTNULLUNIQUE,SnameVarChar(20)NOTNULL,SsexChar(2)NOTNULL,SageSmallintNOTNULL,ClnoChar(5)NotNULL);INSERTINTOStudentVALUES('2000101','李勇','男','20','00311');INSERTINTOStudentVALUES('2000102','刘诗晨','女','19','00311');INSERTINTOStudentVALUES('2000103','王一鸣','男','20','00312');INSERTINTOStudentVALUES('2000104','张婷婷','女','21','00312');INSERTINTOStudentVALUES('2001101','李勇敏','女','19','01311');INSERTINTOStudentVALUES('2001102','贾向东','男','22','01311');INSERTINTOStudentVALUES('2001103','陈宝玉','男','20','01311');INSERTINTOStudentVALUES('2001104','张逸凡','男','21','01311');CREATETABLECourse(CnoChar(1)NOTNULL,CnameVarChar(20)NOTNULL,CreditSmallintNOTNULL);INSERTINTOCourseVALUES('1','数据库','4');INSERTINTOCourseVALUES('2','离散数学','3');INSERTINTOCourseVALUES('3','管理信息系统','2');INSERTINTOCourseVALUES('4','操作系统','4');INSERTINTOCourseVALUES('5','数据结构','4');INSERTINTOCourseVALUES('6','数据处理','2');INSERTINTOCourseVALUES('7','C语言','4');CREATETABLEClass(ClnoChar(5)NOTNULL,SpecialityVarChar(20)NOTNULL,InyearChar(4)NOTNULL,NumberIntegerNOTNULL,MonitorChar(7)NOTNULL,);INSERTINTOClassVALUES('00311','计算机软件','2000','120','2000101');INSERTINTOClassVALUES('00312','计算机应用','2000','140','2000103');INSERTINTOClassVALUES('01311','计算机软件','2001','220','2001103');CREATETABLEGrade(SnoChar(7),CnoChar(1),GmarkNumeric(4,1));INSERTINTOGradeVALUES('2000101','1','92');INSERTINTOGradeVALUES('2000101','3','88');INSERTINTOGradeVALUES('2000101','5','86');INSERTINTOGradeVALUES('2000102','1','78');INSERTINTOGradeVALUES('2000102','6','55');INSERTINTOGradeVALUES('2000103','3','65');INSERTINTOGradeVALUES('2000103','6','78');INSERTINTOGradeVALUES('2000103','5','66');INSERTINTOGradeVALUES('2000104','1','54');INSERTINTOGradeVALUES('2000104','6','83');INSERTINTOGradeVALUES('2001101','2','70');INSERTINTOGradeVALUES('2001101','4','65');INSERTINTOGradeVALUES('2001102','2','80');INSERTINTOGradeVALUES('2001102','4','90');INSERTINTOGradeVALUES('2000103','1','83');INSERTINTOGradeVALUES('2000103','2','76');INSERTINTOGradeVALUES('2000103','4','56');INSERTINTOGradeVALUES('2000103','7','88');11.altertableStudentaddNationvarchar(20);altertableStudentdropcolumnNation;//删除新增的属性NationinsertintoGradevalues('2001110','3',80);//向成绩表中插入记录(2001110,3,80)updateGradesetGmark=70whereSno='2001110';//将学号为“”的学生的成绩修改为分deletefromGradewhereSno='200110';//删除学号为“”的学生的成绩记录createindexIX_ClassonStudent(Clno);//在学生表的Clno属性上创建一个名为IX_Class的索引,以班级号的升序排序dropindexStudent.IX_Class;//删除IX_Class索引思考题:1:规定相应的不能为空实验四:selectdistinctCnofromGrade;//找出所有被学生选修了的课程号select*fromStudentwhereClno='01311'andSsex='女';//找出班女学生的个人信息selectSname,Ssex,2016-SageasYearfromStudentwhereClno='01311'orClno='01312';//找出班和班的学生姓名和、性别、出生年份select*fromStudentwhereSnamelike'李%'//找出姓李的学生的个人信息selectNumberfromClasswhereClnoin(selectClnofromStudentwhereSname='李勇');//找出李勇所在班级的学生人数selectAVG(Gmark)as平均成绩,MAX(Gmark)as最高分,MIN(Gmark)as最低分fromGradewhereCnoin(selectCnofromCoursewhereCname='操作系统');//找出课程名为操作系统的平均成绩,最高分,最低分selectcount(distinctSno)as学生人数fromGrade//选修了课程的学生人数selectcount(distinctSno)as学生人数fromGradewhereCnoin(selectCnofromCoursewhereCname='操作系统');//选修了操作系统的学生人数SELECTSname学生姓名FROM(SELECT*FROMStudentWHEREClnoin(SELECTClnoFROMClassWHERESpeciality='计算机软件'ANDInyear='2000'))ruanjianWHEREruanjian.Snonotin(SELECTDISTINCTSnoFROMGrade)withruanjianas(SELECTSno,SnameFROMStudentjoinClassonStudent.Clno=Class.ClnoWHEREClass.Speciality='计算机软件'andClass.Inyear='2000')SELECTSname学生姓名FROMruanjianWHEREnotexists(SELECT*FROMGradeWHEREruanjian.Sno=Grade.Sno);//找出级计算机软件班的成绩为空的学生姓名2、不对,聚合函数不应该出现在where语句中,除非该聚合位于HAVING子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用思考题:如果遇到子查询,就基本上都需要别名.或者认为实际表名写起来太麻烦时,可以用一个字母的别名来代替实验五:select*fromStudentwhereSname'李勇'andClnoin(SELECTClnofromStudentwhereSname='李勇');//找出和李勇在同一个班级的学生的信息select*fromStudentwhereSname'李勇'andexists(select*fromGradewhereStudent.Sno=Grade.SnoandGrade.Cnoin(selectCnofromGradewhereSnoin(selectSnofromStudentwhereSname='李勇')))//找出所有与学生李勇有相同选修课程的学生信息select*fromStudentwhereSage25andSage(selectSagefromStudentwhereSname='李勇')//找出年龄介于学生李勇和岁之间的学生信息selectSnoas学号,Snameas姓名fromStudentwhereexists(select*fromGradewhereCnoin(SelectCnofromCoursewhereCname='操作系统'))//选修了课程是操作系统的学生学号和姓名selectSnameas姓名fromStudentwherenotexists(select*fromGradewhereStudent.Sno=Grade.SnoandCno=1);//找出没有选修号课程的所有学生姓名selectSnameas姓名fromStudentwherenotexists(selectCnofromCourseexceptselectCnofromGradewhereStudent.Sno
本文标题:数据库第3章上机报告
链接地址:https://www.777doc.com/doc-2428515 .html