本工具包提供了完整的学生信息数据生成和导入功能,包括:
generate_student_data.py - 数据生成脚本(Python)complete-student-data.sql - 完整数据SQL文件(1375行)import-student-data.sh - 数据导入脚本(Shell)student-data-generator.sql - 基础模板文件| 班级ID | 班级代码 | 班级名称 | 专业 | 学院 | 总人数 | 男生 | 女生 |
|---|---|---|---|---|---|---|---|
| 1100001 | CS2024001 | 计算机科学与技术2024级1班 | 计算机科学与技术 | 计算机科学与技术学院 | 50 | 28 | 22 |
| 1100002 | EE2024001 | 电子信息工程2024级1班 | 电子信息工程 | 电子信息工程学院 | 50 | 32 | 18 |
| 1100003 | BM2024001 | 工商管理2024级1班 | 工商管理 | 经济管理学院 | 50 | 20 | 30 |
# 进入SQL目录
cd backend/script/sql
# 直接执行SQL文件
mysql -u root -p hzdyjs_xg < complete-student-data.sql
# 进入SQL目录
cd backend/script/sql
# 运行导入脚本
./import-student-data.sh
脚本会自动:
注意:脚本会自动从 application-dev.yml 配置文件中读取数据库连接信息,无需手动输入。
# 进入SQL目录
cd backend/script/sql
# 运行Python生成脚本
python3 generate_student_data.py
# 导入新生成的数据
./import-student-data.sh
SQL文件包含完整的验证查询:
-- 验证班级信息
SELECT id, class_code, class_name, college_name, major, current_count, male_count, female_count
FROM xg_class_info
WHERE id IN (1100001, 1100002, 1100003);
-- 验证学生信息统计
SELECT
class_id,
class_name,
COUNT(*) as total_count,
SUM(CASE WHEN gender = 'M' THEN 1 ELSE 0 END) as male_count,
SUM(CASE WHEN gender = 'F' THEN 1 ELSE 0 END) as female_count
FROM xg_student_info
WHERE class_id IN (1100001, 1100002, 1100003)
GROUP BY class_id, class_name;
-- 验证班级干部分布
SELECT
ci.class_name,
cs.class_position,
cs.student_name,
si.gender
FROM xg_class_student cs
JOIN xg_class_info ci ON cs.class_id = ci.id
JOIN xg_student_info si ON cs.student_id = si.id
WHERE cs.class_id IN (1100001, 1100002, 1100003)
AND cs.class_position != 'member'
ORDER BY cs.class_id, cs.position_level;
backend/ruoyi-admin/src/main/resources/application-dev.ymlxg_class_info - 班级信息表xg_student_info - 学生信息表xg_class_student - 班级学生关联表编辑 generate_student_data.py 中的 classes 配置:
classes = [
{
'id': 1100001,
'code': 'CS2024001',
'name': '计算机科学与技术2024级1班',
'major': '计算机科学与技术',
'college': '计算机科学与技术学院',
'male_count': 28,
'female_count': 22
},
# 添加更多班级...
]
male_count 和 female_countstudent_id 起始值surnames、male_names、female_names 数组area_code 和 birth_year 范围phone 生成规则address_prefixes 和 road_nameshzdyjs_xg 已存在ON DUPLICATE KEY UPDATE如有问题,请检查:
版本: V1.0.0
更新时间: 2025-01-14
维护人: Cursor AI 辅助开发