介绍

现需要构建一个简易的成绩管理系统的数据库,来记录几门课程的学生成绩。数据库中有三张表分别用于记录学生信息、课程信息和成绩信息。

数据表结构如下:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

学生表(student):学生 id 、学生姓名和性别

搭建一个简易的成绩管理系统数据库 随笔 第1张

课程表:课程 id 和课程名

搭建一个简易的成绩管理系统数据库 随笔 第2张

成绩表:成绩 id 、学生 id 、课程 id 和分数

搭建一个简易的成绩管理系统数据库 随笔 第3张

服务器中的 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 自增和键约束
  • 每个表插入语句可通过一条语句完成

挑战参考代码

以下内容仅供参考,为了能有更好的学习效果,请尽量按自己的想法来完成练习题。

$ sudo service mysql start 这是乌班图linux启动方式。 $ mysql -u root mysql> CREATE DATABASE gradesystem; mysql> use gradesystem mysql> CREATE TABLE student( -> sid int NOT NULL AUTO_INCREMENT, -> sname varchar(20) NOT NULL, -> gender varchar(10) NOT NULL, -> PRIMARY KEY(sid) -> ); mysql> CREATE TABLE course( -> cid int NOT NULL AUTO_INCREMENT, -> cname varchar(20) NOT NULL, -> PRIMARY KEY(cid) -> ); mysql> CREATE TABLE mark( -> mid int NOT NULL AUTO_INCREMENT, -> sid int NOT NULL, -> cid int NOT NULL, -> score int NOT NULL, -> PRIMARY KEY(mid), -> FOREIGN KEY(sid) REFERENCES student(sid), -> FOREIGN KEY(cid) REFERENCES course(cid) -> ); mysql> INSERT INTO student VALUES(1,'Tom','male'),(2,'Jack','male'),(3,'Rose','female'); mysql> INSERT INTO course VALUES(1,'math'),(2,'physics'),(3,'chemistry'); mysql> INSERT INTO mark VALUES(1,1,1,80),(2,2,1,85),(3,3,1,90),(4,1,2,60),(5,2,2,90),(6,3,2,75),(7,1,3,95),(8,2,3,75),(9,3,3,85);

三表联查:
select * from student as s,course as c,mark as m where s.sid=m.sid and c.cid=m.cid;
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄