#创建数据库 create database stuDB; use stuDB; #班级信息表 create table classInfo ( classId int primary key auto_increment, #班级编号 className varchar(20) unique, #班级名称 openDate dateTime #开班时间 ) default charset=utf8; #学生信息表 create table stuInfo ( stuNO int primary key auto_increment, #学号 stuName varchar(20) not null unique,#姓名 stuAge int , #年龄 stuSex char(2) , #性别 stuAddress varchar(50) default '湖北武汉', #地址 classId int, FOREIGN key(classId) references classInfo(classId) #班级编号 ) default charset=utf8; #分数信息表 create table scoresInfo ( scoreId int primary key auto_increment, #分数编号 labExam decimal(18,2), #机试成绩 writtenExam decimal(18,2) ,#笔试成绩 stuNo int, FOREIGN key(stuNo) references stuinfo(stuNo) #分数所属的学生学号 ) default charset=utf8; #添加班级信息 insert into classInfo(className) values('科职一班'); insert into classInfo(className) values('科职二班'); insert into classInfo(className) values('科职三班'); #添加学生信息 insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张小三',19,'女',default,1); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张四',20,'女',default,1); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张小二',21,'男',default,1); insert into stuinfo(stuName,stuSex,stuAddress,classId) values('张五','女','湖南长沙',2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('李二',20,'男',default,2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('刘七',22,'男',default,2); insert into stuinfo(stuName,stuSex,stuAddress,classId) values('刘八','女','湖南长沙',2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('刘九',18,'女',default,3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵二小',20,'男',default,3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都1',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都2',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都3',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都4',22,'男','广东',3); #添加分数信息 insert into scoresInfo(labExam,writtenExam,stuNo) values(65,85,2); insert into scoresInfo(labExam,writtenExam,stuNo) values(65,75,3); insert into scoresInfo(labExam,writtenExam,stuNo) values(80,95,4); insert into scoresInfo(labExam,writtenExam,stuNo) values(85,85,5); insert into scoresInfo(labExam,writtenExam,stuNo) values(75,76,6); insert into scoresInfo(labExam,writtenExam,stuNo) values(56,78,7); insert into scoresInfo(labExam,writtenExam,stuNo) values(62,95,2) ; #学号2学生补考成绩 insert into scoresInfo(labExam,writtenExam,stuNo) values(89,95,7) ; #学号7学生补考成绩 select * from classinfo; select * from stuinfo; select * from scoresinfo;
理解问题#创建数据库 create database stuDB; use stuDB; #班级信息表 create table classInfo ( classId int primary key auto_increment, #班级编号 className varchar(20) unique, #班级名称 openDate dateTime #开班时间 ) default charset=utf8; #学生信息表 create table stuInfo ( stuNO int primary key auto_increment, #学号 stuName varchar(20) not null unique,#姓名 stuAge int , #年龄 stuSex char(2) , #性别 stuAddress varchar(50) default '湖北武汉', #地址 classId int, FOREIGN key(classId) references classInfo(classId) #班级编号 ) default charset=utf8; #分数信息表 create table scoresInfo ( scoreId int primary key auto_increment, #分数编号 labExam decimal(18,2), #机试成绩 writtenExam decimal(18,2) ,#笔试成绩 stuNo int, FOREIGN key(stuNo) references stuinfo(stuNo) #分数所属的学生学号 ) default charset=utf8; #添加班级信息 insert into classInfo(className) values('科职一班'); insert into classInfo(className) values('科职二班'); insert into classInfo(className) values('科职三班'); #添加学生信息 insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张小三',19,'女',default,1); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张四',20,'女',default,1); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张小二',21,'男',default,1); insert into stuinfo(stuName,stuSex,stuAddress,classId) values('张五','女','湖南长沙',2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('李二',20,'男',default,2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('刘七',22,'男',default,2); insert into stuinfo(stuName,stuSex,stuAddress,classId) values('刘八','女','湖南长沙',2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('刘九',18,'女',default,3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵二小',20,'男',default,3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都1',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都2',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都3',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都4',22,'男','广东',3); #添加分数信息 insert into scoresInfo(labExam,writtenExam,stuNo) values(65,85,2); insert into scoresInfo(labExam,writtenExam,stuNo) values(65,75,3); insert into scoresInfo(labExam,writtenExam,stuNo) values(80,95,4); insert into scoresInfo(labExam,writtenExam,stuNo) values(85,85,5); insert into scoresInfo(labExam,writtenExam,stuNo) values(75,76,6); insert into scoresInfo(labExam,writtenExam,stuNo) values(56,78,7); insert into scoresInfo(labExam,writtenExam,stuNo) values(62,95,2) ; #学号2学生补考成绩 insert into scoresInfo(labExam,writtenExam,stuNo) values(89,95,7) ; #学号7学生补考成绩 select * from classinfo; select * from stuinfo; select * from scoresinfo;
已完成理解「#创建数据库 create database stuDB; use stuDB; #班级信息表 create table classInfo ( classId int primary key auto_increment, #班级编号 className varchar(20) unique, #班级名称 openDate dateTime #开班时间 ) default charset=utf8; #学生信息表 create table stuInfo ( stuNO int primary key auto_increment, #学号 stuName varchar(20) not null unique,#姓名 stuAge int , #年龄 stuSex char(2) , #性别 stuAddress varchar(50) default '湖北武汉', #地址 classId int, FOREIGN key(classId) references classInfo(classId) #班级编号 ) default charset=utf8; #分数信息表 create table scoresInfo ( scoreId int primary key auto_increment, #分数编号 labExam decimal(18,2), #机试成绩 writtenExam decimal(18,2) ,#笔试成绩 stuNo int, FOREIGN key(stuNo) references stuinfo(stuNo) #分数所属的学生学号 ) default charset=utf8; #添加班级信息 insert into classInfo(className) values('科职一班'); insert into classInfo(className) values('科职二班'); insert into classInfo(className) values('科职三班'); #添加学生信息 insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张小三',19,'女',default,1); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张四',20,'女',default,1); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('张小二',21,'男',default,1); insert into stuinfo(stuName,stuSex,stuAddress,classId) values('张五','女','湖南长沙',2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('李二',20,'男',default,2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('刘七',22,'男',default,2); insert into stuinfo(stuName,stuSex,stuAddress,classId) values('刘八','女','湖南长沙',2); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('刘九',18,'女',default,3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵二小',20,'男',default,3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都1',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都2',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都3',22,'男','广东',3); insert into stuinfo(stuName,stuAge,stuSex,stuAddress,classId) values('赵都4',22,'男','广东',3); #添加分数信息 insert into scoresInfo(labExam,writtenExam,stuNo) values(65,85,2); insert into scoresInfo(labExam,writtenExam,stuNo) values(65,75,3); insert into scoresInfo(labExam,writtenExam,stuNo) values(80,95,4); insert into scoresInfo(labExam,writtenExam,stuNo) values(85,85,5); insert into scoresInfo(labExam,writtenExam,stuNo) values(75,76,6); insert into scoresInfo(labExam,writtenExam,stuNo) values(56,78,7); insert into scoresInfo(labExam,writtenExam,stuNo) values(62,95,2) ; #学号2学生补考成绩 insert into scoresInfo(labExam,writtenExam,stuNo) values(89,95,7) ; #学号7学生补考成绩 select * from classinfo; select * from stuinfo; select * from scoresinfo;」
展开阅读网页
您好!您提供的SQL语句创建了一个名为stuDB
的数据库,并在其中创建了三个表:classInfo
(班级信息表)、stuInfo
(学生信息表)和scoresInfo
(分数信息表)。同时,您还插入了一些班级、学生和分数信息。
在您的SQL语句中,我注意到几个可能需要修正的地方:
stuInfo
表中的FOREIGN KEY
约束引用的表名错误,应该是classInfo
而不是classInfo
。scoresInfo
表中的FOREIGN KEY
约束引用的表名和字段名错误,应该是stuInfo(stuNO)
而不是stuinfo(stuNo)
。- 在
stuInfo
表的插入语句中,有几条语句没有指定stuAge
字段的值,这可能会导致错误,因为stuAge
字段没有默认值。
修正后的FOREIGN KEY
约束和插入语句应该如下所示:
FOREIGN KEY (classId) REFERENCES classInfo(classId)
和
insert into stuInfo(stuNO, stuName, stuAge, stuSex, stuAddress, classId) values(1, '张小三', 19, '女', '湖北武汉', 1);
请确保在实际数据库操作中修正这些错误。如果您有其他问题或需要进一步的帮助,请随时告诉我。