成绩管理系统的数据操作实验

成绩管理系统的数据操作

在挑战实验1中构建的成绩管理系统中,物理老师想要找出分数最高的同学进行表扬,请你找出这个同学并把他的信息(id、姓名、性别)输出到路径 /tmp/ 下的 physics.txt文件中。同时 Tom 的化学成绩有异议,需要在原来的基础上加3分,请更新 Tom 的化学成绩。

目标

1.MySQL 服务处于运行状态

2.下载运行 createdb.sql 文件,完成数据库的建立

3.找出物理(physics)分数最高的同学,并把他的信息(id、姓名、性别)输出到路径 /tmp/ 下的 physics.txt文件中

4.修改 Tom 的化学(chemistry)成绩,在原来的基础上加3分

数据库表的数据如下:

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

课程表(course):课程 id 和课程名

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

服务器中的 MySQL 还没有启动,请注意 MySQL 的 root 账户默认密码为空。

过程

创建成绩管理系统数据库的代码在 createdb.sql 中,请打开 Xfce 终端输入下载代码:

wget http://labfile.oss.aliyuncs.com/courses/9/createdb.sql

MySQL 服务处于运行状态

sudo service mysql start
mysql -u root

下载运行 createdb.sql 文件,完成数据库的建立

source /home/shiyanlou/createdb.sql;

找出物理(physics)分数最高的同学,并把他的信息(id、姓名、性别)输出到路径 /tmp/ 下的 physics.txt文件中

select st.sid ,st.sname,st.gender into outfile '/tmp/physics.txt' from student as st join mark as ma on ma.sid = st.sid join course as co on co.cid = ma.cid where co.cname = 'physics' order by ma.score limit 1;

修改 Tom 的化学(chemistry)成绩,在原来的基础上加3分

update mark set score = score +3 where sid=(select sid from student where sname="Tom") and cid = (select cid from course where cname="chemistry")

你可能感兴趣的:(数据库)