1、实验一 创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:(1) 学生表(学号,姓名,性别,年龄),student(Sno, sname, ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jb
2、gz,zwgz,hj);Create Database Student default character set utf8 default COLLATE utf8_bin;Use Student;Create Table Student(SNochar(20) primary key,SNamechar(20) ,SSexchar(4) default 男,SAgeint) ENGINE=InnoDB;Create Table Course(CNochar(20) primary key,CNamechar(20) NOT NULL,CReditfloat) ENGINE=InnoDB;C
3、reate Table SC(SNochar(20) NOT NULL,CNochar(20) NOT NULL,Gradefloat,Primary Key(SNo, CNo),Foreign Key(SNo) References Student(SNo) On Delete Cascade,Foreign Key(CNo) References Course(CNo) ENGINE=InnoDB;Create Table T(TNochar(20) Primary Key,TNamechar(20) NOT NULL,TSexchar(4) default 男,birthday Date
4、Time,deptchar(20),titlechar(20),address char(20) ENGINE=InnoDB;Create Table Salary(TNochar(20) NOT NULL,jbgzfloat,zwgzfloat,hjfloat,Foreign Key(TNo) References T(TNo) On Delete Cascade) ENGINE=InnoDB;2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列; alter table Student add Dept char(20);(2)将学生表stu
5、dent中sname属性列的数据类型修改为变长字符串varchar(10)。alter able Student modify colum sname varchar(10)3、建立一个临时表,然后将其删除 Create Table temp (ANochar(20) NOT NULL,Bfloat, C char(10) ) Drop table temp实验二 建立与删除索引1、用create index在学生表student的学号sno上建立聚簇索引。Create Clustered Index SNo_Index On Student(SNo);2、在学生表student中,为姓名sn
6、ame建立非聚簇索引。 Create Index SName_Index On Student(SName);3、在课程表的课程号Cno上建立唯一索引。 Create Unique Index CNo_Index On Course(CNo);4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。Create Index SCNo_Index On SC(SNo ASC, Grade DESC);5、用drop删除学生表student的索引。 Drop Index Student.SNo_Index;6、增加学生表student中姓名唯一约束。 Alte
7、r Table Student Add Unique(SName);7、增加学生表student中性别男、女唯一约束。 Alter Table Student Add Constraint:SSex check(SSex = 男 or SSex = 女);8、增加学生表student中年龄1825岁约束。Alter Table Student Add Constraint:SAge check(SAge = 18 And SAge = 25);9、增加选课表SC中学号sno的外码约束。Alter Table SC Add Foreign Key(SNo) references Student(
8、SNo);-实验三 数据的插入、更新及删除操作1、用insert输入数据。学生表student的数据991201 张三22男计算机系991202 李四 21男信息系991101王五23男数学系991102陈六19男计算机系991103吴七24女数学系000101刘八22女信息系Insert Into Student Values(991201, 张三, 男, 22, 计算机科学与技术系);Insert Into Student Values(991202, 李四, 男, 21, 信息科学系);Insert Into Student Values(991101, 王五, 男, 23, 数理系);
9、Insert Into Student Values(991102, 陈六, 男, 19, 计算机科学与技术系);Insert Into Student Values(991103, 吴七, 女, 24, 数理系);Insert Into Student Values(000101, 刘八, 女, 22, 信息科学系);课程表course的数据1 数学52 数据结构43 程序设计24 数据库原理35 操作系统3Insert Into Course Values(1, 数学, 5);Insert Into Course Values(2, 数据结构, 4);Insert Into Course
10、Values(3, 程序设计, 2);Insert Into Course Values(4, 数据库原理, 3);Insert Into Course Values(5, 操作系统, 3);选课表SC的数据991201190991201580991201385991201490991102185991102298000101291Insert Into SC Values(991201, 1, 90);Insert Into SC Values(991201, 5, 80);Insert Into SC Values(991201, 3, 85);Insert Into SC Values(
11、991201, 4, 90);Insert Into SC Values(991102, 1, 85);Insert Into SC Values(991102, 2, 98);Insert Into SC Values(000101, 2, 91);基本表T的数据0001张三男1968-10信息副教授湘潭0002李四 女1956-11信息教授长沙1001王五男1973-07计算机讲师湘潭1008陈六男1970-08计算机副教授北京Insert Into T Values(0001, 张三, 男, 1968-10-10, 信息科学系, 副教授, 湘潭);Insert Into T Values
12、(0002, 李四, 女, 1956-11-10, 信息科学系, 教授, 长沙);Insert Into T Values(1001, 王五, 男, 1973-07-20, 计算机科学与技术系, 讲师, 湘潭);Insert Into T Values(1008, 陈六, 男, 1970-08-20, 计算机科学与技术系, 副教授, 北京);基本表Salary的数据00011000300130000021500500200010018002001000Insert Into Salary Values(0001, 1000, 300, 1300);Insert Into Salary Valu
13、es(0002, 1500, 500, 2000);Insert Into Salary Values(1001, 800, 200, 1000);*/2、用delete删除数据记录(1)删除教师表T中教师号为0001的元组。(2)删除教师表T中的全部数据。update t set birthday=1961-10-04 where Tno =0001 Delete From T;3、用 update更新数据记录(1) 把0001号教师的基本工资加100。(2) 把所有教师的基本工资都加100。 Update Salary Set jbgz = jbgz + 100 Where TNo = 0001Update Salary Set jbgz = jbgz + 100实验四 数据的查询1、简单查询,用select检索(1)查询所有学生的基本情况。select * from student;(2)查询教师每月应交纳的个人所得税。 select hj*0.005 as monthshui from Salary;(3)查询张三与李四两位同学的基本情况。 select * from student where sname=张三 or sname=李四;(4)查询9911班学生的基本信息(规定学生学号的前四位是班级号)。 se
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1