MySQL是一種關系型數據庫管理系統,它的強大功能使得它被廣泛應用于各種場景中,包括報表制作。制作成績單是一種常見的報表需求,下面介紹如何使用MySQL制作成績單報表。
首先,需要準備學生個人信息表和學生成績表。學生個人信息表包括學生的姓名、學號、性別、出生日期等基本信息,學生成績表包括學生的學號、科目、成績等信息。兩張表可以通過學生的學號字段建立關聯。
CREATE TABLE `student_info` ( `s_id` int(11) NOT NULL AUTO_INCREMENT, `s_name` varchar(20) NOT NULL, `s_number` varchar(20) NOT NULL, `s_gender` varchar(10) NOT NULL, `s_birthdate` date DEFAULT NULL, PRIMARY KEY (`s_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `student_score` ( `ss_id` int(11) NOT NULL AUTO_INCREMENT, `s_number` varchar(20) NOT NULL, `subject` varchar(20) NOT NULL, `score` int(11) NOT NULL, PRIMARY KEY (`ss_id`), KEY `s_number` (`s_number`), CONSTRAINT `student_score_ibfk_1` FOREIGN KEY (`s_number`) REFERENCES `student_info` (`s_number`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
接下來,需要使用JOIN語句將兩張表進行關聯并查詢出所需的字段,包括學生的姓名、學號、性別、出生日期、科目、成績等信息。最后將查詢結果按照學號或姓名排序。
SELECT student_info.s_id, student_info.s_name, student_info.s_number, student_info.s_gender, student_info.s_birthdate, student_score.subject, student_score.score FROM student_info JOIN student_score ON student_info.s_number = student_score.s_number ORDER BY student_info.s_number;
通過以上步驟,即可得到一個包含學生個人信息和成績信息的報表,可以將其導出為excel或pdf格式進行打印。