文档介绍:--------------------------校验:_____________-----------------------日期:_____________mysql数据库实验答案实验一创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:学生表(学号,姓名,性别,年龄),student((Sno,sname,ssex,sage);(2)课程表(课程号,课程名,学分),ame,credit);(3)选课表(学号,课程号,成绩),SC(Sno,,Cno,grade);(4)教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address);(5)工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);CreateDatabaseStudentdefaultcharactersetutf8defaultCOLLATEutf8_bin;UseStudent;CreateTableStudent( SNo char(20)primarykey, SName char(20), SSex char(4)default'男', SAge int)ENGINE=InnoDB;CreateTableCourse( CNo char(20)primarykey, CName char(20)NOTNULL, CRedit float)ENGINE=InnoDB;CreateTableSC( SNo char(20)NOTNULL, CNo char(20)NOTNULL, Grade float, PrimaryKey(o), ForeignKey(SNo)ReferencesStudent(SNo)OnDeleteCascade, o)o))ENGINE=InnoDB;CreateTableT( TNo char(20)PrimaryKey, TName char(20)NOTNULL, TSex char(4)default'男', birthdayDateTime, dept char(20), title char(20), addresschar(20))ENGINE=InnoDB;CreateTableSalary( TNo char(20)NOTNULL, jbgz float, zwgz float, hj float, ForeignKey(TNo)ReferencesT(TNo)OnDeleteCascade)ENGINE=InnoDB;2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;altertableStudentaddDeptchar(20);(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。alterableStudentmodifycolumsnamevarchar(10)3、建立一个临时表,然后将其删除CreateTabletemp( ANo char(20)NOTNULL,B har(10))Droptabletemp实验二建立与删除索引1、用createindex在学生表student的学号sno上建立聚簇索引。CreateClusteredIndexSNo_IndexOnStudent(SNo);2、在学生表student中,为姓名sname建立非聚簇索引。CreateIndexSName_IndexOnStudent(SName);3、o上建立唯一索引。o);4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。o_IndexOnSC(SNoASC,GradeDESC);5、用drop删除学生表student的索引。6、增加学生表student中姓名唯一约束。AlterTableStudentAddUnique(SName);7、增加学生表student中性别‘男’、‘女’唯一约束。AlterTableStudentAddConstraint:SSexcheck(SSex='男'orSSex='女');8、增加学生表student中年龄18~25岁约束。AlterTableStudentAddConstraint:SAgecheck(SAge>=18AndSAge<=25);9、增加选课表SC中学号sno的外码约束。AlterTableSCAddForeignKey(SNo)referencesStudent(SNo);-实验三数据的插入、更新及删除操作1、用insert输入数据。学生表student的数据991201张三22男