mysql数据库试验答案
实验一实验一创建、修改数据库和表结构创建、修改数据库和表结构 1 1、用、用 createcreate 建立教学数据库的五个基本表:建立教学数据库的五个基本表: ((1 1)) 学生表(学号,姓名,性别,年龄)学生表(学号,姓名,性别,年龄) ,,student((Snostudent((Sno,, sname sname,, ssexssex,,sage)sage) ;; ((2 2)) 课程表课程表 (课程号,(课程号, 课程名,课程名, 学分)学分) ,, CourseCourse (Cno,(Cno, Cname,Cname, credit)credit);; ((3 3)选课表(学号,课程号,成绩))选课表(学号,课程号,成绩) ,,SC (Sno,, Cno, grade )SC (Sno,, Cno, grade ) ;; (4)(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址)教师表(教师号,姓名,性别,出生年月,系部,职称,地址) ,, T(TnoT(Tno,,TnameTname,,ssexssex,,birthdaybirthday,,deptdept,,titletitle,,address)address) ;; (5)(5) 工资表(教师号,基本工资,职务工资,合计)工资表(教师号,基本工资,职务工资,合计) ,,Salary(TnoSalary(Tno,, jbgzjbgz,,zwgzzwgz,,hj)hj);; CreateCreateDatabaseDatabase StudentStudentdefaultdefault charactercharactersetsetutf8utf8 default COLLATE utf8_bindefault COLLATE utf8_bin; ; Use Student;Use Student; Create Table Student(Create Table Student( SNoSNoc char(20) primary key,har(20) primary key, SName char(20) ,SName char(20) , SSexSSexchar(4) default char(4) default 男男 , , SAgeSAgeintint ) ) ENGINE=InnoDBENGINE=InnoDB; ; Create Table Course(Create Table Course( CNoCNoc char(20) primary key,har(20) primary key, CName char(20) NOT NULL,CName char(20) NOT NULL, Cascade,Cascade, CReditCReditf floatloat ) ) ENGINE=InnoDB ENGINE=InnoDB; ; Create Table SC(Create Table SC( SNoSNoc char(20) NOT NULL,har(20) NOT NULL, CNoCNoc char(20) NOT NULL,har(20) NOT NULL, Grade float,Grade float, Primary Key(SNo, CNo),Primary Key(SNo, CNo), ForeignForeign Key(SNo)Key(SNo) ReferencesReferences Student(SNo)Student(SNo) OnOn DeleteDelete Foreign Key(CNo) References Course(CNo)Foreign Key(CNo) References Course(CNo) ) ) ENGINE=InnoDENGINE=InnoDB;B; Create Table T(Create Table T( TNoTNoc char(20) Primary Key,har(20) Primary Key, TName char(20) NOT NULL,TName char(20) NOT NULL, TSexTSexchar(4) default char(4) default 男男 , , birthday DateTime,birthday DateTime, deptdeptchar(20),char(20), title char(20),title char(20), address char(20)address char(20) ) ) ENGINE=InnoDBENGINE=InnoDB; ; Create Table Salary(Create Table Salary( TNoTNoc char(20) NOT NULL,har(20) NOT NULL, jbgzjbgzfloat,float, zwgzzwgzfloat,float, hj float,hj float, CascadeCascade ForeignForeignKey(TNo)Key(TNo)ReferencesReferencesT(TNo)T(TNo)OnOnDeleteDelete ) ) ENGINE=InnoDBENGINE=InnoDB; ; 2 2、用、用 alteralter 修改基本表修改基本表 ((1 1)在已存在的学生表)在已存在的学生表 studentstudent 中增加一个中增加一个 sdeptsdept(系)的新的属性(系)的新的属性 列;列; alter table Student add Dept char(20); alter table Student add Dept char(20); ((2 2)将学生表)将学生表studentstudent 中中 snamesname 属性列的数据类型修改为变长字符串属性列的数据类型修改为变长字符串 varchar(10)varchar(10)。。 alter able Studentalter able Student modify modify colum sname varchar(10) colum sname varchar(10) 3 3、建立一个临时表,然后将其删除、建立一个临时表,然后将其删除 Create Table temp ( Create Table temp ( ANoANoc char(20) NOT NULL,Bhar(20) NOT NULL,Bfloat, C char(10) )float, C char(10) ) Drop table temp Drop table temp 实验二实验二建立与删除索引建立与删除索引 1 1、、用用 create indexcreate index 在学生表在学生表 studentstudent 的学号的学号 snosno 上建立聚簇索引。上建立聚簇索引。 Create Clustered Index SNo_Index On Student(SN