题目
搭建一个简易的成绩管理系统的数据库
介绍
现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩。数据库中有三张表分别用于记录学生信息、课程信息和成绩信息。
数据库表的数据如下:
学生表(student):学生 id 、学生姓名和性别
课程表:课程 id 和课程名
成绩表:成绩 id 、学生 id 、课程 id 和分数
服务器中的 MySQL 还没有启动,请注意 MySQL 的 root 账户默认密码为空。
目标
1.MySQL 服务处于运行状态
2.新建数据库的名称为 gradesystem
3.gradesystem 包含三个表:student、course、mark;
student 表包含3列:sid(主键)、sname、gender;
course 表包含2列:cid(主键)、cname;
mark 表包含4列:mid(主键)、sid、cid、score ,注意与其他两个表主键之间的关系。
4.将上述表中的数据分别插入到各个表中
提示
建立表时注意 id 自增和键约束
每个表插入语句可通过一条语句完成
解法
启动mysql:
sudo service mysql start
mysql -u root
创建一个名为gradesystem的数据库:
create database gradesystem;
use gradesystem;
创建student表:
create table student
(
sid int(10)primary key,
sname char(10),
gender char(10)
);
创建course表:
create table course
(
cid int(10)primary key,
sname char(10)
);
创建mark表:
create table mark
(
mid int(10)primary key,
sid int(10),foreign key (sid) references student(sid),
cid int(10),foreign key (cid) references course(cid),
score int(100)
);
student插入数据:
insert into student values(1,'Tom','male');
insert into student values(2,'Jack','male');
insert into student values(3,'Rose','female');
course插入数据:
insert into course values(1,'math');
insert into course values(2,'physics');
insert into course values(3,'chemistry');
mark插入数据:
insert into mark values(7,1,3,95);
insert into mark values(8,2,3,75);
insert into mark values(9,3,3,85);
最后可以查看这三张表:
select * from student;
/*
+-----+-------+--------+
| sid | sname | gender |
+-----+-------+--------+
| 1 | Tom | male |
| 2 | Jack | male |
| 3 | Rose | female |
+-----+-------+--------+
*/
select * from course;
/*
+-----+-----------+
| cid | sname |
+-----+-----------+
| 1 | math |
| 2 | physics |
| 3 | chemistry |
+-----+-----------+
*/
select * from mark;
/*
+-----+------+------+-------+
| mid | sid | cid | score |
+-----+------+------+-------+
| 7 | 1 | 3 | 95 |
| 8 | 2 | 3 | 75 |
| 9 | 3 | 3 | 85 |
+-----+------+------+-------+
*/