赞
踩
该项目非常适合MySQL入门学习的小伙伴,博主提供了源码、数据和一些查询语句,供大家学习和参考,代码和表设计有什么不恰当还请各位大佬多多指点。
学生选课系统主要完成某学校教务系统中选课功能:
学生包含以下属性:学号、学生姓名、学生性别。
教师包含以下属性:教工号、教师姓名、教师职称。
课程包含以下属性:课程号、课程名、课程学分。
教室包含以下属性:班级编号、学生人数、班级名称。
选课包含以下属性:学生成绩。
课程(课程号、课程名、课程学分、教工号)
教师(教工号、教师姓名、教师职称)
选课(课程号、学号、成绩)
学生(学号、学生姓名、学生性别、班级编号)
班级(班级编号、学生人数、班级名称)
下划线为主键,红色字为外键;
字段 | 数据类型 | 长度 | 备注 | |
课程号 | varchar | 50 | 主键 | |
课程名 | varchar | 50 | Not.null | |
课程学分 | int | 3 | ||
教工号 | varchar | 50 | 外键 |
字段 | 数据类型 | 长度 | 备注 | |
教工号 | varchar | 50 | 主键 | |
教师姓名 | varchar | 50 | Not.null | |
教师职称 | varchar | 50 |
字段 | 数据类型 | 长度 | 备注 | |
学号 | varchar | 50 | 主键 | |
学生姓名 | varchar | 50 | Not.null | |
学生性别 | varchar | 50 | ||
班级编号 | varchar | 50 | 外键 |
字段 | 数据类型 | 长度 | 备注 | |
班级编号 | varchar | 50 | 主键 | |
班级名称 | varchar | 50 | Not.null | |
学生数量 | int | 5 |
字段 | 数据类型 | 长度 | 备注 | |
学号 | varchar | 50 | 主键 | |
课程号 | varchar | 50 | 主键 | |
成绩 | int | 5 | Not.null |
- Create database 学生选课系统 character set utf8 collate utf8_general_ci
- -- 在新建查询选择前选择数据库
- use 学生选课系统
- create table 老师
- (
- 教工号 varchar(50) primary key,
- 教师姓名 varchar(50) not null,
- 教师职称 varchar(50)
- )
- create table 班级
- (
- 班级编号 varchar(50) primary key,
- 班级名称 varchar(50) not null,
- 学生数量 int(5)
- )
- create table 课程
- (
- 课程号 varchar(50) PRIMARY key,
- 课程名 varchar(50) not null,
- 课程学分 int(3),
- 教工号 char(5),
- CONSTRAINT FK教工号 FOREIGN KEY (教工号) REFERENCES 老师(教工号)
- )
- create table 学生
- (
- 学号 varchar(50) PRIMARY key,
- 学生姓名 varchar(50) not null,
- 学生性别 varchar(50),
- 班级编号 varchar(50),
- CONSTRAINT FK 班级编号 FOREIGN KEY (班级编号) REFERENCES 班级(班级编号)
- )
- create table 选课
- (
- 学号 varchar(50),
- 课程号 varchar(50),
- 成绩 int(5) not null,
- PRIMARY KEY(学号, 课程号)
- )
- INSERT INTO 老师 VALUES ('J001','wuping','教授');
- INSERT INTO 老师 VALUES ('J002','zhangshuai','讲师');
- INSERT INTO 老师 VALUES ('J003','liguoqiang','副教授');
- INSERT INTO 老师 VALUES ('J004','wangni','讲师');
- INSERT INTO 老师 VALUES ('J005','liubo','讲师');
- INSERT INTO 班级 VALUES ('B001','软件1班','30');
- INSERT INTO 班级 VALUES ('B002','软件2班','29');
- INSERT INTO 班级 VALUES ('B003','软件3班','31');
- INSERT INTO 班级 VALUES ('B004','嵌入式1班','32');
- INSERT INTO 班级 VALUES ('B005','嵌入式2班','33');
- INSERT INTO 班级 VALUES ('B006','嵌入式3班','30');
- INSERT INTO 课程 VALUES ('K001','数据库','4','J002');
- INSERT INTO 课程 VALUES ('K002','java','4','J003');
- INSERT INTO 课程 VALUES ('K003','python','6','J001');
- INSERT INTO 课程 VALUES ('K004','英语','2','J005');
- INSERT INTO 课程 VALUES ('K005','数学','8','J004');
- INSERT INTO 学生 VALUES ('X005','zhangsan','男','B002');
- INSERT INTO 学生 VALUES ('X004','lisi','女','B003');
- INSERT INTO 学生 VALUES ('X003','wangwu','男','B004');
- INSERT INTO 学生 VALUES ('X002','liuyu','男','B005');
- INSERT INTO 学生 VALUES ('X001','chenqi','男','B001');
- INSERT INTO 学生 VALUES ('X006','wangxin','女','B001');
- INSERT INTO 学生 VALUES ('X007','yangli','男','B002');
- INSERT INTO 学生 VALUES ('X008','qinyan','女','B006');
- INSERT INTO 选课 VALUES ('X001','K002','82');
- INSERT INTO 选课 VALUES ('X001','K003','78');
- INSERT INTO 选课 VALUES ('X002','K005','90');
- INSERT INTO 选课 VALUES ('X002','K003','74');
- INSERT INTO 选课 VALUES ('X003','K001','66');
- INSERT INTO 选课 VALUES ('X003','K002','75');
- INSERT INTO 选课 VALUES ('X004','K005','95');
- INSERT INTO 选课 VALUES ('X004','K004','83');
- INSERT INTO 选课 VALUES ('X005','K001','75');
- INSERT INTO 选课 VALUES ('X005','K004','87');
- INSERT INTO 选课 VALUES ('X007','K001','79');
1. 查看xxx表所有信息:
select * from xxxx *表示全部,查看xxx的全部数据
select * from 老师
2. 查询表的某个或多个字段:
select field1,field2…… from tablenname(表名)
select 学号,学生姓名 from 学生
3. 查询满足条件的信息:
and满足所有条件。or满足其中任何一个条件就可以
select * from 学生 where 学生性别 ='男' and 班级编号 ='B002' and 学生姓名 = 'yangli'
4. 区间查询:
从选课中选取分数在80~90的(可取端点)
select * from 选课 where 成绩 between 80 and 90
5. 模糊查询:
在选课中查询分数以9开头的信息,%9%是查询信息中含有9的。%表示模糊数据
select * from 选课 where 成绩 like '9%'
6. count()统计函数:
从学生表格中统计B002班的有几个
select count(*) from 学生 where 班级编号 ='B002'
7. sum()求和函数 :
从选课表格中计算分数和。
select sum(成绩) from 选课
8. avg()平均函数:
求所有学生的平均成绩。
select avg(成绩) from 选课
9. max()最大函数 :
从选课表格中查询课程号K003课的最高分。
select max(成绩) from 选课 where 课程号 ='K003'
10. min()最小值函数:
从选课表格中查询课程号K003课的最低分
select min(成绩) from 选课 where 课程号 ='K003'
代码有问题或需要其他的查询语句,都可以随时评论留言或联系博主QQ。
还多请各位小伙伴多多点赞支持,你们的支持是我最大的动力。
博主QQ:1196094293
谢谢各位的支持~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。