DROP TABLE IF EXISTS `章节表`;
CREATE TABLE `章节表` (
`章节ID` int(11) NOT NULL AUTO_INCREMENT,
`章节名称` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`章节周数` int(11) DEFAULT NULL,
PRIMARY KEY (`章节ID`) USING BTREE
) ENGINE = InnoDB;
DROP TABLE IF EXISTS `班级表`;
CREATE TABLE `班级表` (
`班级ID` int(11) NOT NULL AUTO_INCREMENT,
`班级名称` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`班级ID`) USING BTREE
) ENGINE = InnoDB;
DROP TABLE IF EXISTS `日志表`;
CREATE TABLE `日志表` (
`日志ID` int(11) NOT NULL AUTO_INCREMENT,
`日志周数` int(11) NULL DEFAULT NULL,
`日志的学生ID` int(11) DEFAULT NULL,
PRIMARY KEY (`日志ID`) USING BTREE
) ENGINE = InnoDB;
DROP TABLE IF EXISTS `成绩表`;
CREATE TABLE `成绩表` (
`成绩ID` int(11) NOT NULL AUTO_INCREMENT,
`成绩分数` int(11) NOT NULL DEFAULT 0,
`成绩周数` int(11) DEFAULT NULL,
`成绩的学生ID` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`成绩ID`) USING BTREE
) ENGINE = InnoDB;
DROP TABLE IF EXISTS `学生表`;
CREATE TABLE `学生表` (
`学生ID` int(11) NOT NULL AUTO_INCREMENT,
`学生姓名` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`学生的班级ID` int(11) DEFAULT NULL,
`学生备注` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
PRIMARY KEY (`学生ID`) USING BTREE
) ENGINE = InnoDB;
DROP TABLE IF EXISTS `作业表`;
CREATE TABLE `作业表` (
`作业ID` int(11) NOT NULL AUTO_INCREMENT,
`作业周数` int(11) NULL DEFAULT NULL,
`作业的学生ID` int(11) DEFAULT NULL,
PRIMARY KEY (`作业ID`) USING BTREE
) ENGINE = InnoDB;
复制代码
-- 章节表数据
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (1, 'MySQL安装, 建库, 建表, 加数据', 1);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (2, '查询数据', 2);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (3, '运算符与函数, 存储过程', 3);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (4, '图解变量, 异常处理', 4);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (5, '流程控制', 5);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (6, '事务, 游标, 函数', 6);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (7, '触发器', 7);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (8, '索引, 视图', 8);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (9, '数据库管理和维护', 9);
INSERT INTO `章节表`(`章节ID`, `章节名称`, `章节周数`) VALUES (10, '用户和数据安全, 权限管理', 10);
-- 班级表数据
INSERT INTO `班级表`(`班级ID`, `班级名称`) VALUES (1, '计算机网络技术(系统集成方向)一班');
INSERT INTO `班级表`(`班级ID`, `班级名称`) VALUES (2, '移动商务(阿里巴巴开发工程师)一班');
INSERT INTO `班级表`(`班级ID`, `班级名称`) VALUES (3, '计算机网络技术(系统集成方向)二班');
INSERT INTO `班级表`(`班级ID`, `班级名称`) VALUES (4, '移动商务(阿里巴巴开发工程师)二班');
-- 学生表数据
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (1, '吴旭', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (2, '张欣宇', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (3, '王国洗', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (4, '杨永光', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (5, '张文辉', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (6, '刘豪', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (7, '梁梦龙', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (8, '王文强', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (9, '杨德全', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (10, '郑鹏飞', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (11, '刘鹏飞', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (12, '贾梦豪', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (13, '张豪凯', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (14, '宗智远', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (15, '孔华朋', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (16, '李书博', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (17, '熊开猛', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (18, '邢子洋', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (19, '刘旭', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (20, '刘昊', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (21, '班亚楠', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (22, '王一豪', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (23, '曹泽龙', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (24, '王泽桢', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (25, '赵天赐', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (26, '葛浩蒙', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (27, '赵贺佳', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (28, '李情情', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (29, '何瑞怡', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (30, '刘倩倩', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (31, '郭盼盼', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (32, '刘忆琳', 1, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (33, '潘永涛', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (34, '李保重', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (35, '刘硕', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (36, '丁鹏伟', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (37, '赵秋云', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (38, '马晗', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (39, '卢丛惠', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (40, '张龙龙', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (41, '吴梦丽', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (42, '朱相儒', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (43, '张书源', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (44, '郭旭', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (45, '王鑫', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (46, '周会双', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (47, '郭子申', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (48, '段爱烨', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (49, '雷懿寓', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (50, '周春广', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (51, '沈春阳', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (52, '席文博', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (53, '李世龙', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (54, '温明亮', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (55, '赵苗苗', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (56, '李聪斌', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (57, '刘一奇', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (58, '王伟利', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (59, '张鸽', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (60, '张睢', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (61, '张会敏', 2, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (62, '靖山', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (63, '马超', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (64, '尚雪豪', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (65, '施凯华', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (66, '高铭泽', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (67, '侯俊阳', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (68, '范启蒙', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (69, '王成隆', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (70, '王超杰', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (71, '张照选', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (72, '刘智深', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (73, '李果诚', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (74, '张圆圆', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (75, '郭红丽', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (76, '梁慧敏', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (77, '李明健', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (78, '王浩', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (79, '梁顺杰', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (80, '董红星', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (81, '黄丽明', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (82, '程航', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (83, '安康', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (84, '林高', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (85, '陶海龙', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (86, '庞亚博', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (87, '马宇阳', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (88, '王宇歧', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (89, '林天宇', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (90, '邢育彬', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (91, '王银灵', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (92, '王天真', 3, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (93, '王柯盈', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (94, '杜欣雨', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (95, '孙明浩', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (96, '康连杰', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (97, '郭龙康', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (98, '苏珂', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (99, '马彩茹', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (100, '樊伊麟', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (101, '郭贺贺', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (102, '吴秉泽', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (103, '张海宁', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (104, '张航博', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (105, '艾森', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (106, '滕东升', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (107, '姚玉东', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (108, '常鑫', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (109, '马婧文', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (110, '李涛', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (111, '姚盼盼', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (112, '吕俊飞', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (113, '曹禹卿', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (114, '李数数', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (115, '刘琪', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (116, '朱梦瑶', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (117, '侯季果', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (118, '刘梦晴', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (119, '杨挺甫', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (120, '张贝贝', 4, '');
INSERT INTO `学生表`(`学生ID`, `学生姓名`, `学生的班级ID`, `学生备注`) VALUES (121, '张鑫', 4, '');
-- 日志表数据(一周两次日志)
insert into 日志表(日志周数,日志的学生ID) select 9,学生ID from 学生表;
insert into 日志表(日志周数,日志的学生ID) select 9,学生ID from 学生表;
-- 作业表数据(一周两次作业)
insert into 作业表(作业周数,作业的学生ID) select 9,学生ID from 学生表;
insert into 作业表(作业周数,作业的学生ID) select 9,学生ID from 学生表;
-- 成绩表
insert into 成绩表(成绩分数,成绩周数,成绩的学生ID) select floor(rand()*40)+60,9,学生ID from 学生表;
复制代码
创建三个存储过程
- 提交日志
- 提交作业
- 日志及作业统计
1. 提交日志
in 日志周数
直接写第几周即可in 学生姓名
多个学生姓名, 无需分隔符
drop procedure if exists 提交日志;
create procedure 提交日志(in 周数 int, in 同学们的姓名 text) begin
declare sid int default 0;
declare sname char(20) default '';
declare 游标是否结束 int default 0;
declare 游标 cursor for select 学生ID, 学生姓名 from 学生表;
declare continue handler for not found set 游标是否结束 = 1;
open 游标;
myloop:loop
fetch 游标 into sid,sname;
if locate(sname,同学们的姓名)
then
insert into 日志表(日志的学生ID,日志周数) values(sid,周数);
end if;
if 游标是否结束 then
leave myloop;
end if;
end loop;
close 游标;
select '完成!!!' as `提示`;
end;
复制代码
2. 提交作业
in 作业周数
直接写第几周即可in 学生姓名
多个学生姓名, 无需分隔符
drop procedure if exists 提交作业;
create procedure 提交作业(in 周数 int, in 同学们的姓名 text) begin
declare sid int default 0;
declare sname char(20) default '';
declare 游标是否结束 int default 0;
declare 游标 cursor for select 学生ID, 学生姓名 from 学生表;
declare continue handler for not found set 游标是否结束 = 1;
open 游标;
myloop:loop
fetch 游标 into sid,sname;
if locate(sname,同学们的姓名)
then
insert into 作业表(作业的学生ID,作业周数) values(sid,周数);
end if;
if 游标是否结束 then
leave myloop;
end if;
end loop;
close 游标;
select '完成!!!' as `提示`;
end;
复制代码
3. 日志及作业统计
in 统计班级
不写则表示所有班级in 统计周数
直接写第几周即可
drop PROCEDURE if exists 统计结果;
CREATE DEFINER=`root`@`localhost` PROCEDURE `统计结果`(in 当前班级ID int, in 当前周数 int)
begin
declare 计数 int default 0;
declare 当前班级名称 char(200);
create database if not exists `云和作业统计` character set utf8;
select 班级名称 into 当前班级名称 from 班级表 where 班级ID = 当前班级ID;
drop table if exists 临时作业表;
create table 临时作业表
select 班级名称 as 班级,
学生姓名,
章节名称 as 章节,
count(作业ID) as 作业实提交次数,
null
from
学生表 left join 作业表 on 学生表.学生ID = 作业表.作业的学生ID and 作业周数 = 当前周数
left join 章节表 on 章节表.章节周数 = 当前周数
left join 班级表 on 班级表.班级ID = 当前班级ID
where
学生的班级ID = 当前班级ID
group by 学生ID;
drop table if exists 临时日志表;
create table 临时日志表
select 班级名称 as 班级,
学生姓名,
章节名称 as 章节,
null,
count(日志ID) as 日志实提交次数
from
学生表 left join 日志表 on 学生表.学生ID = 日志表.日志的学生ID and 日志周数 = 当前周数
left join 章节表 on 章节表.章节周数 = 当前周数
left join 班级表 on 班级表.班级ID = 当前班级ID
where
学生的班级ID = 当前班级ID
group by 学生ID;
drop table if exists 临时表;
CREATE TABLE `临时表` (
`序号` int primary key auto_increment,
`班级` varchar(200) DEFAULT NULL,
`学生姓名` varchar(20) DEFAULT NULL,
`章节` varchar(200) DEFAULT NULL,
`日志应提交次数` char(21) NOT NULL DEFAULT '0',
`日志实提交次数` char(21) NOT NULL DEFAULT '0',
`作业应提交次数` char(21) NOT NULL DEFAULT '0',
`作业实提交次数` char(21) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into 临时表 (班级, 学生姓名, 章节, 日志应提交次数, 日志实提交次数, 作业应提交次数, 作业实提交次数)
select 临时日志表.班级,
临时日志表.学生姓名,
临时日志表.章节,
'两次' as `日志应提交次数`,
临时日志表.日志实提交次数,
'两次' as `作业应提交次数`,
临时作业表.作业实提交次数
from 临时日志表,
临时作业表 where 临时日志表.学生姓名 = 临时作业表.学生姓名;
drop table if exists `临时表2`;
create table `临时表2` select 序号, 班级, 学生姓名, 章节, 日志应提交次数,
case 日志实提交次数
when '0' then '0'
when '1' then '①'
when '2' then '②√'
end as 日志实提交次数
, 作业应提交次数,
case 作业实提交次数
when '0' then '0'
when '1' then '①'
when '2' then '②√'
end as 作业实提交次数
from 临时表;
drop table 临时表;
drop table if exists 临时作业表;
drop table if exists 临时日志表;
set @new_name = concat(当前班级名称,'--第',当前周数,'周--作业及日志完成情况');
set @rename_table_step1 = CONCAT('drop table if exists `云和作业统计`.`',@new_name,'`;');
set @rename_table_step2 = CONCAT('ALTER ', 'TABLE ', '`临时表2` ', 'RENAME ', 'TO `云和作业统计`.`', @new_name,'`;');
PREPARE STMT1 FROM @rename_table_step1;
EXECUTE STMT1;
PREPARE STMT2 FROM @rename_table_step2;
EXECUTE STMT2;
select '已完成! 请刷新`云和作业统计`数据库!' as `温馨提醒`;
end;
复制代码
批量获取同学日志或作业文件名getnames.bat
chcp 65001
DIR *.* /B >list.txt
@echo off
(for /f "delims=" %%a in (list.txt) do (
for %%b in (%%a) do set /p=%%b<nul
))>tem
del /q list.txt&ren tem list.txt
start list.txt
复制代码