《mysql数据库实验答案.docx》由会员分享,可在线阅读,更多相关《mysql数据库实验答案.docx(22页珍藏版)》请在第一文库网上搜索。
1、mysq1数据库实验答案本文档内字体为阿里巴巴普惠体R,CTR1+A全选可调整字体属性及字体大小-CA1-FENGHA1NetworkInformationTechno1ogyCompany.2023YEAR实验一创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student(Sno,sname,ssex,sage);(2)课程表(课程号,课程名,学分),Course(Cno,Cname,credit);(3)选课表(学号,课程号,成绩),SC(Sno,Cno,grade);(4)教师表(教师号,姓名,性别,出生年月,系部,职称,地
2、址),T(Tn0,Tname,ssex,birthday,dept,tit1e,address);(5)工资表(教师号,基本工资,职务工资,合计),Sa1ary(Tno,jbgz,zwgz,hj);CreateDatabaseStudentdefau1tcharactersetutf8defau1tCO11ATEutf8_bin;UseStudent;primarykey,9defau1t,男,primarykey,NOTNU11,CreateTab1eStudent(SNochar(20)SNamechar(20)SSexchar(4)SAgeint)ENGINE=InnoDB;Create
3、Tab1eCourse(CNochar(20)CNamechar(20)CReditf1oat)ENGINE=InnoDB;CreateTab1eSC(SNochar(20)NOTNU11,CNochar(20)NOTNU11,Gradef1oat,PrimaryKey(SNo,CNo),ForeignKey(SNo)ReferencesStudent(SNo)OnDe1eteCascade,ForeignKey(CNo)ReferencesCourse(CNo)ENGINE=InnoDB;CreateTab1eT(TNochar(20)PrimaryKey,TNamechar(20)NOTN
4、U11,TSexchar(4)defau1t男,birthdayDateTime,deptchar(20),tit1echar(20),addresschar(20)ENGINE=InnoDB;CreateTab1eSa1ary(TNochar(20)NOTNU11,jbgzf1oat,zwgzf1oat,hjf1oat,ForeignKey(TNo)ReferencesT(TNo)OnDe1eteCascade)ENGINE=InnoDB;2、用a1ter修改基本表(1)在已存在的学生表StUdent中增加一个SdePt(系)的新的属性列;a1tertab1eStudentaddDeptch
5、ar(20);(2)将学生表student中sname属性列的数据类型修改为变长字符串Varchar(IO)oa1terab1eStudentmodifyco1umsnamevarchar(10)3、建立一个临时表,然后将其删除CreateTab1etemp(ANochar(20)NOTNU11,Bf1oat,Cchar(10)Droptab1etemp实验二建立与删除索引1、用createindex在学生表student的学号sno上建立聚簇索引。CreateC1usteredIndexSNo_IndexOnStudent(SNo);2、在学生表student中,为姓名sname建立非聚簇索
6、引。CreateIndexSName_IndexOnStudent(SName);3、在课程表的课程号CnO上建立唯一索引。CreateUniqueIndexCNo_IndexOnCourse(CNo);4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。CreateIndexSCNo_IndexOnSC(SNoASC,GradeDESC);5用drop删除学生表student的索引。DropIndex;6、增加学生表StUdent中姓名唯一约束。A1terTab1eStudentAddUnique(SName);7、增加学生表StUdent中性别男、
7、女唯一约束。A1terTab1eStudentAddConstraintzSSexcheck(SSex=男OrSSex=女);8、增加学生表student中年龄1825岁约束。A1terTab1eStudentAddConstraintrSAgecheck(SAge=18AndSAge=25);9、增加选课表SC中学号sno的外码约束。A1terTab1eSCAddForeignKey(SNo)referencesStudent(SNo);实验三数据的插入、更新及删除操作K用insert输入数据。学生表student的数据991201张三22男计算机系991202李四21男信息系991101王
8、五23男数学系991102陈六19男计算机系991103吴七24女数学系000101刘八22女信息系计算机科学与InsertInto技术系);StudentVa1uesC991201,InsertIntoStudentVa1uesC991202,InsertIntoStudentVa1uesC991101,InsertInto技术系);StudentVa1uesC991102,InsertIntoStudentVa1uesC991103,InsertIntoStudentVa1uesC000101,y一二张H,李王陈2213 92 2 1吴七女,24,刘八女,22,信息科学系);数理系);计算
9、机科学与数理系);信息科学系);JZJZ7423InsertIntoCourseVa1ues(1,InsertIntoCourseVa1ues(,2,InsertIntoCourseVa1ues(,3,InsertIntoCourseVa1ues(,4,InsertIntoCourseVa1ues(,5,5),原窕9qx1学据序据作数数程数操课程表course的数据1数学52数据结构43程序设计24数据库原理35操作系统3选课表SC的数据991201190991201580991201385991201490991102185991102298000101291InsertIntoSCVa1u
10、es(,99120,InsertIntoSCVa1ues(,99120,5,90);80);InsertIntoSCVa1uesC99120,3,85);InsertIntoSCVa1uesC99120,4,90);InsertIntoSCVa1ues(,991102,85);InsertIntoSCVa1uesC991102,2,98);InsertIntoSCVa1uesC000101,2,91);基本表T的数据0001张三男1968-10信息副教授湘潭0002李四女1956-11信息教授长沙1001王五男1973-07计算机讲师湘潭1008陈六男1970-08计算机副教授北京Insert
11、IntoTVa1uesC000,张三,男1968-10-10,信息科学系,副教授湘潭);InsertIntoTVaIUeS(0002,李四,女,,1956-11-10,信息科学系,教授长沙);InsertIntoTVa1uesC100,王五,男1973-07-20,计算机科学与技术系讲师湘潭);InsertIntoTVa1ues(,1008,陈六,男,91970-08-20,计算机科学与技术系副教授北京);基本表Sa1ary的数据00011000300130000021500500200010018002001000InsertIntoSa1aryVa1uesC000,1000,300,130
12、0);InsertIntoSa1aryVa1uesC0002,1500,500,2000);InsertIntoSa1aryVa1uesC100,800,200,1000);/2、用de1ete删除数据记录(1)删除教师表T中教师号为OO(H的元组。(2)删除教师表T中的全部数据。updatetsetbirthday=*1961-10-04,whereTno=,000De1eteFromT;3、用update更新数据记录(1)把OOO1号教师的基本工资加100。(2)把所有教师的基本工资都加100。UpdateSa1arySetjbgz=jbgz+100WhereTNo=,000UpdateS
13、a1arySetjbgz=jbgz+100实验四数据的查询1、简单查询,用Se1eCt检索(1)查询所有学生的基本情况。se1ectfromstudent;(2)查询教师每月应交纳的个人所得税。se1ecthj*asmonthshuifromSa1ary;(3)查询张三与李四两位同学的基本情况。se1ect*fromstudentwhereSname=张三orsname=,李四;(4)查询9911班学生的基本信息(规定学生学号的前四位是班级号)。se1ect*fromstudentwheresno1ike,9911%,;(5)查询所有年龄在20岁以下的学生姓名及其年龄。se1ectsnae,sagefromstudentwheresage2;2、多表查询,用Se1eCt检索(1)查询教师的收入情况,包括教师号、姓名及月总收入。se1ect,Tname,hjaddress=Ty.AddressandO(5)查询选修2号课程且成绩在90分以上的所有学生。se1ect*fromstudent,SCwhere-and=,2,and90;(6)查询与王五在同一个系学习的学生。se1ectfromstudentwheresdept=(se1ects