精华内容
下载资源
问答
  • 学生成绩管理系统数据库设计--MySQL

    万次阅读 多人点赞 2020-06-18 13:02:04
    MySQL/SQL Server 数据库设计(学生成绩管理系统) 设计大纲 1. 项目背景及需求分析 1.1 项目背景 1.2 需求分析 1.2.1 信息需求 1.2.2 功能需求 1.2.3 安全性与完整性需求 2. 概念结构设计 2.1 抽象出系统实体 2.2 ...

    MySQL 数据库设计-学生成绩管理系统

    设计大纲

    在这里插入图片描述

    更新时间:2020.6.23

    1. 项目背景及需求分析

    1.1 项目背景

    为了深刻的理解MySQL数据库,以学生成绩信息管理为例,设计一个简单、规范、高效的学生成绩信息管理系统数据库。

    1.2 需求分析

    1.2.1 信息需求

    对学校而言,学生成绩管理是管理工作中重要的一环,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。

    1.2.2 功能需求

    能够进行数据库的数据定义、数据操纵、数据控制等处理功能。具体功能应包括:可提供课程安排、课程成绩数据的添加、插入、删除、更新、查询,学生及教职工基本信息查询的功能。

    1.2.3 安全性与完整性要求

    对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

    2. 概念结构设计

    概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
    根据学生成绩信息管理数据库设计需求抽象出学生、教师、课程、成绩四个实体,对四个实体做简化处理,默认一门课程仅被一位老师讲授。因简化后关系结构比较简单,故省略了局部E-R图。对4个实体之间的关系进行分析如下:
    一位学生会被多位老师教导,一位老师会教导多位学生,所有学生与教师之间是多对多(m:n)的关系;
    一位学生可能会选修多门课程,一门课程会被多位学生选修,所以学生与课程之间是多对多(m:n)的关系;
    一位学生会有多项成绩(具体指某学生一门课程的分数),一项成绩仅被一位学生拥有,所以学生与成绩是一对多(1:n)的关系;
    一位教师会讲授多门课程,一门课程会被一位教师讲授,所以教师与课程的关系是一对多(1:n)的关系;
    一门课程拥有多项成绩,一项成绩仅被一门课程拥有,所以课程与成绩的关系是一对多(1:n)的关系;

    2.1 抽象出系统实体

    学生(学号、姓名、班级、性别、专业、出生日期、学分);
    老师(教师编号、姓名、学院);
    课程(课程编号、教师编号、课程名称、课程学分);
    成绩(学号、课程编号、分数);

    2.2 全局E-R图

    在这里插入图片描述

    3. 逻辑结构设计

    3.1 关系模式

    E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
    设计学生成绩管理数据库,包括学生(students)、老师(teachers)、课程(courses)、成绩(scores)四个实体,其关系模式中对每个实体定义属性如下:

    students 表:学号(sid)、姓名(sname)、班级(sclass)、性别(sgender)、专业(smajor)、出生日期(sbirthday)、学分(credit_points),此为联系“students表”所对应的关系模式,学号为该关系的候选码,满足第三范式。

    teachers表:教师编号(tid)、姓名(tname)、学院(tschool),此为联系“teachers表”所对应的关系模式,教师编号为该关系的候选码,满足第三范式。

    courses表:课程编号(cid)、教师编号(tid)、课程名称(cname)、学分(credit_point),此为联系“courses表”所对应的关系模式,课程编号和教师编号为该关系的候选码,满足第三范式。

    scores表:学号(sid)、课程编号(cid)、分数(score),此为联系“scores表”所对应的关系模式,学号和课程编号为该关系的候选码,满足第三范式。

    3.2 函数依赖识别

    后续更新补充

    3.3 范式

    后续更新补充

    3.4 表结构

    数据库中包含4个表,即学生(students)、老师(teachers)、课程(courses)、成绩(scores)。

    students表的表结构
    在这里插入图片描述
    teachers表的表结构
    在这里插入图片描述
    courses表的表结构
    在这里插入图片描述
    scores表的表结构
    在这里插入图片描述

    4. 物理设计和实施

    4.1 数据库及表创建

    4.1.1 创建数据库

    -- 如果已有该数据库,则删除
    DROP DATABASE IF EXISTS StudentScore;
    
    -- 创建数据库
    CREATE DATABASE StudentScore CHARSET=UTF8;
    

    4.1.2 创建数据表

    -- 使用数据库
    USE StudentScore;
    
    -- 创建数据表
    -- table 1: students
    DROP TABLE IF EXISTS students;
    CREATE TABLE students(
    sid INT(20) UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
    sname VARCHAR(20),
    sclass INT(10),
    sgender VARCHAR(10),
    smajor VARCHAR(20),
    sbirthday DATE,
    credit_points INT(5) -- 学生已修学分
    );
    
    -- table 2: teachers
    DROP TABLE IF EXISTS teachers;
    CREATE TABLE teachers(
    tid INT(10) UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
    tname VARCHAR(20),
    tschool VARCHAR(20)
    );
    
    -- table 3: courses
    DROP TABLE IF EXISTS courses;
    CREATE TABLE courses(
    cid INT(10) UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL,
    cname VARCHAR(20),
    credit_point INT(5), -- 课程学分
    tid INT(10) UNSIGNED NOT NULL,
    FOREIGN KEY(tid) REFERENCES teachers(tid)
    );
    
    -- table 4: scores
    DROP TABLE IF EXISTS scores;
    CREATE TABLE scores(
    sid INT(10) UNSIGNED NOT NULL,
    cid INT(10) UNSIGNED NOT NULL,
    score DECIMAL(5, 2),
    FOREIGN KEY(sid) REFERENCES students(sid),
    FOREIGN KEY(cid) REFERENCES courses(cid)
    );
    
    

    4.2 表数据增删改查测试

    4.2.1 MySQL基础知识点总结

    在这里插入图片描述

    4.2.2 精选MySQL练习题数据及解析

    点击查看
    4.2.2 精选MySQL练习题数据及答案解析

    4.2.2.1. 连接查询 - 4题

    1.1 查询同时选修了课程 1 和 课程 2 的学生的信息

    1.2 查询课程 1 比 课程 2 成绩高的学生的信息及课程分数

    1.3 查询课程 1 分数小于 60 的学生信息和课程分数,按分数降序排列

    1.4 查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

    4.2.2.2. 子查询、连接查询 - 4题

    2.1 查询有成绩的学生信息

    2.2 查询学过 孙悟空 老师所授课程的学生信息

    2.3 查询至少有一门课与学号为 1 的同学所学相同的学生信息

    2.4 查询选修了课程 2 但是没有选修课程 1 的学生信息

    4.2.2.3. 聚合分组、连接查询 - 8题

    3.1 查询同名学生名单,并统计同名人数

    3.2 查询选修了 3 门课程的学生信息

    3.3 查询平均成绩大于等于 85 的所有学生的学号、姓名、平均成绩(保留2位小数)

    3.4 查询平均成绩大于等于 60 分的学生学号、姓名、平均成绩(保留2位小数)

    3.5 查询两门及以上课程分数小于60分的学生学号、姓名及平均成绩(保留2位小数)

    3.6 查询姓 赵 的同学的学生信息、总分,若没选课则总分显示为 0

    3.7 查询所有同学的学号、姓名、选课总数、总成绩,没选课的学生要求显示选课总数和总成绩为 0

    3.8 查询所有学生学号、姓名、选课名称、总成绩,按总成绩降序排序,没选课的学生显示总成绩为 0

    4.2.2.4. if 或 case 语句 - 2题

    4.1 若学号sid为学生座位编号,现开始对座位号调整,奇数号和偶数号对调,如1和2对调、3和4对调…等, 如果最后一位为奇数,则不调换座位,查询调换后的学生座位号(sid)、姓名,按sid排序

    4.2 查询各科成绩最高分、最低分和平均分: 以如下形式显示:课程id、课程名、选修人数、最高分、最低分、平均分、及格率、中等率、优良率、优秀率
    及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90
    要求查询结果按人数降序排列,若人数相同,按课程号升序排列,平均分、及格率等保留2位小数

    4.2.2.5. 时间函数 - 6题

    5.1 查询 1990 年出生的学生信息

    5.2 查询各学生的年龄,分别按年份和按出生日期来算

    5.3 查询本周或下周过生日的学生

    5.4 查询本月或下月过生日的学生

    5.5 查询学生信息,要求:学号和年龄同时至少比一位学生的学号和年龄大

    5.6 查询连续相邻3年出生的学生中,学生性别相同的学生信息

    4.2.2.6.综合应用 - 12题

    6.1 查询和学号为 1 的同学学习的课程完全相同的其他同学的信息

    6.2 查询每科均及格的人的平均成绩:学号、姓名、平均成绩(保留2位小数)

    6.3 查询选修 张若尘 老师所授课程的学生中,该门课成绩最高的学生信息及成绩(成绩可能重复)

    6.4 查询各科成绩,按各科成绩进行排序,并显示排名 分数重复时保留名次空缺,即名次不连续

    6.5 查询各科成绩,按各科成绩进行排序,并显示排名 分数重复时不保留名次空缺,即名次连续

    6.6 查询学生 赵雷 的 变形 课程成绩的排名:学生信息,分数,排名 分数重复时不保留名次空缺,即名次连续

    6.7 查询课程 时空穿梭 成绩在第2-4名的学生,要求显示字段:学号、姓名、课程名、成绩 分数重复时不保留名次空缺,即名次连续

    6.8 查询学生的总成绩,并进行排名,总分重复时不保留名次空缺,即名次连续

    6.9 查询学生的总成绩,并进行排名,总分重复时保留名次空缺,及名次不连续 排名名次不连续,不需要去重

    6.10 统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] 分别所占百分比 结果:保留2位小数

    6.11 查询各科成绩前三名的记录,按照课程编号和分数排序 分数重复时,重复分数按照一名算,即不保留名次空缺,及名次连续

    6.12 查询各科成绩的前两名,列出学生信息、课程名、分数,按照课程名、分数排序 分数重复时,重复分数按照一名算,即不保留名次空缺,及名次连续

    4.2.2.7 MySQL练习题数据及答案解析

    点击查看
    4.2.2 精选36道MySQL练习题数据及答案解析

    4.3 创建视图

    4.3.1 创建一个学生视图,要求显示学生学号、姓名、班级、性别、专业、各科成绩、平均分、总分

    DROP VIEW IF EXISTS v_students_info;
    
    CREATE VIEW v_students_info AS
    SELECT  stu.sid,
    		stu.sname,
    		stu.sclass,
    		stu.sgender,
    		stu.smajor,
    		sum(if(c.cname = "变形", sc.score, 0)) AS "变形",
    		sum(if(c.cname = "时空穿梭", sc.score, 0)) AS "时空穿梭",
    		sum(if(c.cname = "分解术", sc.score, 0)) AS "分解术",
    		sum(if(c.cname = "炼器", sc.score, 0)) AS "炼器",
    		sum(if(c.cname = "炼丹", sc.score, 0)) AS "炼丹",
    		sum(if(c.cname = "飞行", sc.score, 0)) AS "飞行",
    		round(ifnull(avg(sc.score), 0), 2) AS "平均分",
    		ifnull(sum(sc.score), 0) AS "总分"
    FROM 	students stu LEFT JOIN
    		scores sc ON stu.sid = sc.sid LEFT JOIN
    		courses c ON c.cid = sc.cid
    GROUP BY stu.sid;
    

    查看视图:
    在这里插入图片描述
    在这里插入图片描述

    4.4 创建函数

    4.4.1 创建一个通过学号sid获取学生信息的函数

    DROP FUNCTION IF EXISTS get_student_info_by_sid;
    
    DELIMITER //
    CREATE DEFINER = CURRENT_USER FUNCTION get_student_info_by_sid(id INT)
    RETURNS VARCHAR(300)
    DETERMINISTIC
    BEGIN
    RETURN (SELECT CONCAT('姓名: ', sname, ' , ', '性别: ', sgender, ' , ', '专业:', smajor)
    FROM students WHERE sid = id);
    END//
    DELIMITER ;
    -- 调用函数
    SELECT get_student_info_by_sid(8);
    

    调用函数结果:
    在这里插入图片描述
    其中DELIMITER 先定义结束符为 // , 然后又将结束符改为mysql默认的分号结束符。

    了解delimiter 关键字请点击:
    MySQL中 delimiter 关键字详解
    如果出现报错1418:

    Error Code : 1418 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)

    参考下面:
    MySQL ERROR 1418 的解决方法

    4.4.2 自定义函数 2:要求函数体中包含其中一种流程控制语句,要求输入学生学号sid、课程编号,显示学生姓名、课程名称、成绩是否及格(即成绩>=60)

    
    DROP FUNCTION IF EXISTS get_student_scores_by_id;
    
    DELIMITER //
    CREATE DEFINER = CURRENT_USER FUNCTION get_student_scores_by_id(sid INT, cid INT)
    RETURNS VARCHAR(300)
    DETERMINISTIC
    BEGIN
    	-- 多个变量要分开声明,否则会报错
    	DECLARE score INT;
    	DECLARE name VARCHAR(20);
    	DECLARE course_name VARCHAR(20);
    	SELECT sc.score INTO score
    	FROM scores AS sc
    	WHERE sc.sid = sid AND sc.cid = cid;
    	SELECT sname INTO name FROM students AS stu WHERE stu.sid = sid;
    	SELECT cname INTO course_name FROM courses AS co WHERE co.cid = cid;
    	IF score >= 60 THEN
    		RETURN CONCAT(name, '--', course_name, '--', '及格');
    	ELSEIF score > 0 AND score < 60 THEN
    		RETURN CONCAT(name, '--', course_name, '--', '不及格');
    	ELSE
    		RETURN '找不到该学生、课程或该学生没有选课!';
    	END IF;
    END//
    DELIMITER ;
    
    -- 调用函数
    SELECT get_student_scores_by_id(1, 2);
    
    

    调用函数结果:
    在这里插入图片描述

    4.5 创建存储过程

    4.5.1 学生每选修一门课,如果该门课程成绩达到60分及以上,则把该门课程学分加到学生学分里面,输出该学生姓名、学分

    DROP PROCEDURE IF EXISTS add_scores;
    
    DELIMITER //
    CREATE DEFINER = CURRENT_USER PROCEDURE add_scores(
    	IN stu_id INT, 
    	IN co_id INT, 
    	IN s_score INT,
    	OUT name VARCHAR(20),
    	OUT s_credit_point INT
    )
    DETERMINISTIC
    BEGIN
    -- 多个变量要分开声明,否则会报错
    DECLARE points INT;
    INSERT INTO scores (sid, cid, score)
    VALUES (stu_id, co_id, s_score);
    SELECT credit_point INTO points FROM courses WHERE cid = co_id;
    IF s_score >= 60 THEN
    	UPDATE students 
    	SET credit_points = credit_points + points
    	WHERE sid = stu_id;
    END IF;
    -- 注意:多个输出值一定要用多个SELECT来赋值,否则会报错
    SELECT sname INTO name FROM students WHERE sid = stu_id;
    SELECT credit_points INTO s_credit_point FROM students WHERE sid = stu_id;
    COMMIT;
    END//
    DELIMITER ;
    
    -- 测试调用存储过程
    SELECT * FROM students WHERE sid > 10;
    CALL add_scores(11, 2, 33, @name, @s_credit_point);
    SELECT @name, @s_credit_point;
    CALL add_scores(12, 2, 88, @name, @s_credit_point);
    SELECT @name, @s_credit_point;
    
    

    调用存储过程结果:
    在这里插入图片描述

    4.6 创建触发器

    4.6.1 创建一个更新学生学分的触发器,如果该学生分数>=60,则给该学生加上这门课的学分

    语法
    create trigger triggerName
    after/before insert/update/delete on 表名 for each row #这句话在mysql是固定的 begin
    sql语句;
    end;

    
    DROP TRIGGER IF EXISTS update_credit_point;
    
    DELIMITER //
    CREATE TRIGGER update_credit_point
    AFTER INSERT ON scores FOR EACH ROW
    BEGIN 
    	DECLARE points INT;
    	SELECT co.credit_point INTO points FROM courses AS co WHERE co.cid = new.cid;
    	IF new.score >= 60 THEN
    		UPDATE students SET credit_points = credit_points + points
    		WHERE sid = new.sid;
    	END IF;
    END//
    DELIMITER ;
    
    
    -- 测试数据
    SELECT * FROM students WHERE sid < 3;
    INSERT INTO scores VALUES
    (1, 4, 77),
    (2, 4, 55);
    SELECT * FROM students;
    

    测试结果:
    在这里插入图片描述
    终于写完啦!

    展开全文
  • 搭建一个数据库管理学生成绩数据库内有三张表,分别用来记录学生信息,课程信息和成绩信息;学生表(学生id,学生姓名,学生性别),课程信息(课程id,课程名字),成绩表(成绩id,学生id,课程id,分数)...

    数据库介绍:(参考链接:https://www.shiyanlou.com/courses/9/learning/?id=2769)

           搭建一个数据库来管理学生的成绩,数据库内有三张表,分别用来记录学生信息,课程信息和成绩信息;学生表(学生id,学生姓名,学生性别),课程信息(课程id,课程名字),成绩表(成绩id,学生id,课程id,分数);

        

       

         

             

     1 $ sudo service mysql start
     2 ##要注意行号自增,键值约束;
     3 $ mysql -u root -p
     4 
     5 mysql> CREATE DATABASE gradesystem;
     6 
     7 mysql> use gradesystem
     8 
     9 mysql> CREATE TABLE student(
    10     -> sid int NOT NULL AUTO_INCREMENT,
    11     -> sname varchar(20) NOT NULL,
    12     -> gender varchar(10) NOT NULL,
    13     -> PRIMARY KEY(sid)
    14     -> );
    15 
    16 mysql> CREATE TABLE course(
    17     -> cid int NOT NULL AUTO_INCREMENT,
    18     -> cname varchar(20) NOT NULL,
    19     -> PRIMARY KEY(cid)
    20     -> );
    21 
    22 mysql> CREATE TABLE mark(
    23     -> mid int NOT NULL AUTO_INCREMENT,
    24     -> sid int NOT NULL,
    25     -> cid int NOT NULL,
    26     -> score int NOT NULL,
    27     -> PRIMARY KEY(mid),
    28     -> FOREIGN KEY(sid) REFERENCES student(sid),
    29     -> FOREIGN KEY(cid) REFERENCES course(cid)
    30     -> );
    31 
    32 mysql> INSERT INTO student VALUES(1,'Tom','male'),(2,'Jack','male'),(3,'Rose','female');
    33 
    34 mysql> INSERT INTO course VALUES(1,'math'),(2,'physics'),(3,'chemistry');
    35 
    36 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);

     

    转载于:https://www.cnblogs.com/believeqyl/p/11147647.html

    展开全文
  • 用SQL创建学生成绩数据库

    千次阅读 2020-07-19 18:52:17
    创建数据库school,这个数据库中包含四个表:分别是学生表、教师表、课程表和成绩表。 语法: create database school;(创建数据库school) show databases;(查看是否已经创建好) drop database school;(删除...

    创建数据库school,这个数据库中包含四个表:分别是学生表、教师表、课程表和成绩表。
    在这里插入图片描述
    语法:
    create database school;(创建数据库school)

    show databases;(查看是否已经创建好)

    drop database school;(删除数据库school,这里不必删除)

    2.设计创建学生表、教师表、课程表和成绩表。
    在这里插入图片描述

    语法:
    use school;

    create table student(

    sno varchar(20) not null,

    sname varchar(20) not null,

    ssex varchar(20) not null default’男’,

    sbirthday datetime,

    sclass varchar(20));
    在这里插入图片描述

    语法:
    use school;

    create table teacher(

    tno varchar(20) not null,

    tname varchar(20) not null,

    tsex varchar(20) not null default’男’,

    tbirthday datetime,

    prof varchar(20) not null,

    depart varchar(20));

    在这里插入图片描述

    语法:
    use school;

    create table course(

    cno varchar(20) not null,

    cname varchar(20) not null,

    tno varchar(20) not null);

    在这里插入图片描述

    语法:
    use school;

    create table score(

    sno varchar(20) not null,

    cno varchar(20) not null,

    degree decimal(4,1) not null);

    显示所有表是否已经创建,可用以下语句:

    Show tables from school;
    在这里插入图片描述

    3.添加主键和外键约束

    在这里插入图片描述

    语法:
    对学生表添加主键约束:

    alter table student

    add constraint primary key(sno);

    对成绩表添加外键约束:

    alter table student

    add constraint foreign key(sno)

    references student(sno);

    alter table student

    add constraint foreign key(cno)

    references course(cno);

    对成绩表添加主键约束:

    Alter table student

    Add constraint primary key(sno,cno);

    用语法将以上的主键和外键都添加约束:

    alter table student

    add constraint primary key(sno);

    alter table teacher

    add constraint primary key(tno);

    alter table course

    add constraint primary key(cno);

    alter table course

    add constraint foreign key(tno)

    references teacher(tno);

    alter table score

    add constraint primary key(sno,cno);

    alter table score

    add constraint foreign key(cno)

    references course(cno);

    4.将以下学生信息插入到学生表中:

    在这里插入图片描述

    语法:
    insert into student(sno,sname,ssex,sbirthday,sclass)

    values(108,‘曾华’,‘男’,‘1997-09-01’,95033);

    insert into student(sno,sname,ssex,sbirthday,sclass)

    values(105,‘匡明’,‘男’,‘1975-10-02’,95031);

    insert into student(sno,sname,ssex,sbirthday,sclass)

    values(107,‘王丽’,‘女’,‘1976-01-23’,95033);

    insert into student(sno,sname,ssex,sbirthday,sclass)

    values(101,‘李军’,‘男’,‘1976-02-20’,95033);

    insert into student(sno,sname,ssex,sbirthday,sclass)

    values(109,‘王芳’,‘女’,‘1975-02-10’,95031);

    insert into student(sno,sname,ssex,sbirthday,sclass)

    values(103,‘陆君’,‘男’,‘1974-06-03’,95031);

    select*from student;(查看是否所有信息都插入表中了)

    结果如下:
    在这里插入图片描述

    5.将以下信息插入到教师表中:

    在这里插入图片描述

    语法:
    insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

    values(804,‘李诚’,‘男’,‘1958-12-02’,‘副教授’,‘计算机系’);

    insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

    values(856,‘张旭’,‘男’,‘1969-03-12’,‘讲师’,‘电子工程系’);

    insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

    values(825,‘王萍’,‘女’,‘1972-05-05’,‘助教’,‘计算机系’);

    insert into teacher(tno,tname,tsex,tbirthday,prof,depart)

    values(831,‘刘冰’,‘女’,‘1977-08-14’,‘助教’,‘电子工程系’);

    6.以下信息输入课程表表中

    在这里插入图片描述

    语法:
    insert into course(cno,cname,tno)

    values(‘3-105’,‘计算机导论’,825);

    insert into course(cno,cname,tno)

    values(‘3-245’,‘操作系统’,804);

    insert into course(cno,cname,tno)

    values(‘6-166’,‘数据电路’,856);

    insert into course(cno,cname,tno)

    values(‘19-888’,‘高等数学’,831);

    7.将以下信息输入成绩表中:

    在这里插入图片描述

    语法:
    insert into score(sno,cno,degree)

    values(103,‘3-245’,86);

    insert into score(sno,cno,degree)

    values(105,‘3-245’,75);

    insert into score(sno,cno,degree)

    values(109,‘3-245’,68);

    insert into score(sno,cno,degree)

    values(103,‘3-105’,92);

    insert into score(sno,cno,degree)

    values(105,‘3-105’,88);

    insert into score(sno,cno,degree)

    values(109,‘3-105’,76);

    insert into score(sno,cno,degree)

    values(101,‘3-105’,64);

    insert into score(sno,cno,degree)

    values(107,‘3-105’,91);

    insert into score(sno,cno,degree)

    values(108,‘3-105’,78);

    insert into score(sno,cno,degree)

    values(101,‘6-166’,85);

    insert into score(sno,cno,degree)

    values(107,‘6-166’,79);

    insert into score(sno,cno,degree)

    values(108,‘6-166’,81);

    8.要求查询学生表中的sname、ssex和sclass列。

    语法:
    select sname,ssex,sclass

    from student;
    在这里插入图片描述

    9.查询学生表中的所有记录。

    语法:

    Select*from student;

    结果如下:

    在这里插入图片描述

    10.查询教师表中不同的系名,以及每个系有多少老师。(重点)

    分析:

    按系名分组(group by)
    求每组有多少老师,即每组有几行?(count)
    语法:
    Select depart,count(*)

    From teacher

    Group by depart

    在这里插入图片描述

    11.查询成绩表中分数在60分到80分之间的所有记录

    分析:

    查询成绩表中的某些记录
    这些记录一定满足60分到80分
    语法:
    Select*from score

    Where degree between 60 and 80;

    在这里插入图片描述

    12.查询成绩表中分数为85,86或88的记录。

    分析:

    查询成绩表中的某些记录
    这些记录应满足成绩为85,86或88
    这里用where子句:

    方法a:使用关键字in

    方法b:使用关键字or

    语法a:
    Select*from score

    Where degree in(85,86,88);

    在这里插入图片描述

    语法b:
    Select*from score

    Where degree =85 or degree =86 or degree =88;

    在这里插入图片描述

    注:这里的or表示并且,不能用and(and表示交集)

    13.查询学生表中“95031”班或性别为“女”的记录。

    分析:

    查询某些同学的记录
    where子句筛选符合条件的行
    语法a:
    select*from student

    where sclass=‘95031’ or ssex=‘女’;

    在这里插入图片描述

    语法b:
    查询95031这个班级的所有同学的记录
    查询性别为女的所有记录
    用关键字union连接以上的查询语句。
    select*from student where sclass=‘95031’

    union

    select*from student where ssex=‘女’;
    在这里插入图片描述

    14.查询所有不姓王的同学记录。

    SQL语句:
    select*from student

    where sname not like ‘王%’;
    在这里插入图片描述

    15.以class降序来查询所有学生记录。

    分析:

    查询所有学生记录
    用order by子句对查询结果进行降序排序
    SQL语句:
    select*from student

    Order by sclass desc;

    在这里插入图片描述

    展开全文
  • 创建学生成绩数据库

    千次阅读 2011-06-23 07:22:00
    打开SQL数据库企业管理器 →在控制台下新注册SQL Server组→ 选中SQL组 “WANGHAIBO (Windows NT)”→”工 具”→向导→ 在“向导”栏目中选中“创建数据库向导”→下 一步→ 更改数据库名和数据库文件及事务日志...

    打开SQL数据库企业管理器在控制台下新注册SQL Server组→

     

     

     

     

    选中SQL WANGHAIBO (Windows NT)

     

     

     

    →向导→ 在“向导”栏目中选中“创建数据库向导”→下

     

     

     

     

    一步→ 更改数据库名和数据库文件及事务日志位置→…….→直至完成创建完成

     

    同时进行维护设置

     

     

     

     

    建立Student_table

     

    创建访问界面---

     

     

    创建代码设置访问(调试)

    展开全文
  • mysql 学生成绩管理数据库操作案例

    千次阅读 2014-03-09 12:12:21
    1)没及格的每个学生成绩增加5分。 */ update SC set Grade=Grade+5 whereGrade /* 2)低于该课程平均的学生成绩,成绩提高10%。 */ update SC set Grade=Grade+Grade*0.1 where Grade selectAVG(Grade) f
  • 一个用access数据库学生成绩管理系统
  • 使用sql建立图书管理数据库 启动数据库: 首先是使用mac终端启动数据库的命令: sudo /usr/local/mysql/support-files/mysql.server start sudo /usr/local/mysql/support-files/mysql.server stop sudo /usr/...
  • php学生成绩管理系统,数据库使用MySQL,包括源代码和数据库SQL文件,具有学生和教师登录管理功能 数据库SQL文件 /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : ...
  • 学生成绩管理系统 SQL Server 数据库

    热门讨论 2012-12-10 16:57:31
    学生成绩管理系统.mdf 学生成绩管理系统_data_2.mdf 学生成绩管理系统_log.ldf
  • 学生成绩管理系统数据库设计

    万次阅读 多人点赞 2016-03-26 18:22:47
    数据库中用到的表: 数据库表名 关系模式名称 备注 Student 学生 学生信息表 Course 课程 课程信息表 Score 成绩 成绩表  ...
  • 数据库课程设计成绩管理系统 有系别管理,教研室管理,班级管理,教师管理,学生管理,成绩管理,课程管理多个功能模块。都有增删改查的功能。
  • 学生成绩管理系统 — - 数据库设计2 详细文档已经分享 一、需求分析 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。 具体功能应包括:系统应该提供课程安排数据的插入、...
  • 1、创建student表单,id主键,name非空,score默认为0 create table student( id int primary key not null, name text not null, score real default 0.0 check(score>=0)); 2、任意插入10组数据,姓名...
  • 这学期的课程设计,基于java的学生成绩管理系统。压缩包里面含有数据库和Java压缩包以及报告。采用JDBC链接数据库数据库用的SQL sever2014 数据库设计流程和思路在报告里有详细说明,并且内附数据库的建立代码,...
  • 高校成绩管理数据库系统

    万次阅读 多人点赞 2015-08-15 11:00:42
    高校成绩管理系统记录了一个大学生成绩的系统,它的出现使得查询、更新、插入简单化,高效化,成本也随之大大减少。使用计算机对成绩信息的管理,具有手工管理所 无法比拟的优点:信息存储及时,检索迅速、查找方便
  • 数据库Access 2000 .Visual Basic 6.0制作一个类似学生成绩管理查询系统的程序,要求可以使用 有大神帮忙吗,求求!
  • 数据库课设之学生成绩管理系统

    千次阅读 2020-04-11 12:59:34
    总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。...
  • QT版学生成绩管理系统(源码,未使用数据库) QT版本5.5.1下通过 另有可执行文件,若有需要,请另外下载(压缩包有网址)
  • 建立学生信息管理数据库

    千次阅读 2017-11-12 09:08:07
    create database xscj; use xscj; 创建学生成绩数据库 包括三张表 学生信息表 xs 学生课程表 xs_kc 课程信息表 kc
  • C#学生成绩管理系统(ACCESS数据库)及源代码,实验报告。 由拖拉界面数据库自动生成,由控件绑定自动数据库数据。 数据库主要有5个表,Login登录用户信息,Score成绩信息,Student学生信息,Teacher老师信息,Subject...
  • SQL查看“学生成绩数据库的信息

    千次阅读 2017-02-28 19:22:35
  • MySQL数据库设计——以学生成绩数据库为例

    万次阅读 多人点赞 2017-07-04 08:40:02
    MySQL数据库设计——以学生成绩数据库为例 数据库是数据管理的有效技术,是计算机科学的重要分支,它能有效地帮助一个组织或者一个企业科学地管理各类信息资源. 目录 MySQL数据库设计以学生成绩数据库为例 目录 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,341
精华内容 14,136
关键字:

如何创建学生成绩管理数据库