MySql实例

这篇博客详细介绍了MySQL数据库的查询需求及实现过程,包括数据库设计和源码展示,适合数据库管理员和开发者参考。
摘要由CSDN通过智能技术生成

1. 需求:

设计数据库表存储:(用户考试信息)
        用户信息、考试时间、考试科目与考试成绩,及所属年级!

2. 测试数据:

    U001, 张三,1985-09-09, 广州天河,  java,80,基础班,  考试时间为2014-01-01  jsp,90,就业班,  
    考试时间为2014-03-01,mysql,90, 就业班, 考试时间为2014-04-04 
    U002 ,李四,1995-09-09, 广州越秀, java,67,基础班,  考试时间为2014-01-01,mysql,90, 就业班, 
    考试时间为2014-04-04 
    ……….(录入其他记录)

3. 查询需求:

       1. 查询学号是U001的学生参加2014-01-01 “java”课程考试的成绩,要求输出学生姓名和成绩
       2. 查询出通过考试(高于60分)的学员所在的姓名、、所属学学习阶段、考试科目名称、学员的成绩。

       利用子查询语句,筛选出生日期比“李四”大的学生
       查询“java”课程考试成绩为60-80分的学生名单
       查询参加最近一次“mysql”考试成绩最高分和最低分
       查询出基础班考试的平均成绩;
       需求(存储过程)
       统计并显示2014-04-04的mysql考试平均分
       如果平均分在70以上,显示“考试成绩优秀”
       如果在70以下,显示“考试成绩较差”

4.实现

1.数据库设计

    学生表
    学号 姓名 出生日期 地址 课程号 
CREATE TABLE student(
    sid VARCHAR(4) PRIMARY KEY,
    sname VARCHAR(20),
    sbday VARCHAR(20),
    saddress VARCHAR(20),
    scouId INT,
    CONSTRAINT student_course_fk FOREIGN KEY(scouId) REFERENCES course(couId) ON UPDATE CASCADE ON DELETE CASCADE
    );


课程表
    课程号 课程名 考试时间 班级号
CREATE TABLE course(
    couId INT PRIMARY KEY AUTO_INCREMENT,
    couName VARCHAR(20),
    couTime VARCHAR(20),
    couCid INT,
    CONSTRAINT course_class_fk FOREIGN KEY(couCid) REFERENCES class(cid)
    ) 


班级表
    班级号 班级名

CREATE TABLE class(
    cid INT PRIMARY KEY AUTO_INCREMENT,
    cname VARCHAR(20)
)

成绩表
    学号 课程号 成绩
CREATE TABLE score(
    sStuId VARCHAR(4),
    sCouId INT,
    sgrade INT,
    CONSTRAINT score_student_fk FOREIGN KEY(sStuId) REFERENCES student(sid),
    CONSTRAINT score_course_fk FOREIGN KEY(sCouId) REFERENCES course(couId)
    );

2.源码

CREATE DATABASE homework;

USE homework;
-- 班别表
CREATE TABLE class(
    cid INT PRIMARY KEY AUTO_INCREMENT,
    cname VARCHAR(20)
)

INSERT INTO class(cname) VALUES('基础班');
INSERT INTO class(cname) VALUES('就业班');
-- 课程表
CREATE TABLE course(
    couId INT PRIMARY KEY AUTO_INCREMENT,
    couName VARCHAR(20),
    couTime VARCHAR(20)
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值