complete-student-data-fixed.sql 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. -- ==========================================
  2. -- 完整学生信息数据生成脚本(修复版)
  3. -- 版本:V1.0.1
  4. -- 功能:生成3个新班级和150条学生信息数据
  5. -- 作者:Cursor AI 辅助
  6. -- 时间:2025-01-21
  7. -- 说明:修复字段名称问题,确保与数据库表结构匹配
  8. -- ==========================================
  9. USE hzdyjs_xg;
  10. -- 设置字符集
  11. SET NAMES utf8mb4;
  12. SET FOREIGN_KEY_CHECKS = 0;
  13. -- ==============================================
  14. -- 1. 创建3个新班级
  15. -- ==============================================
  16. -- 计算机科学与技术2024级1班
  17. INSERT INTO `xg_class_info` (
  18. `id`, `tenant_id`, `class_code`, `class_name`, `class_type`, `grade`, `enrollment_year`, `graduation_year`,
  19. `college_code`, `college_name`, `major_name`, `major_code`, `training_type`, `degree_type`,
  20. `counselor_id`, `counselor_name`, `class_teacher_id`, `class_teacher_name`,
  21. `planned_capacity`, `current_student_count`, `male_count`, `female_count`, `active_count`,
  22. `contact_phone`, `qq_group`, `email`, `class_status`, `is_graduation`,
  23. `create_by`, `create_time`, `update_by`, `update_time`
  24. ) VALUES (
  25. 1100001, '000000', 'CS2024001', '计算机科学与技术2024级1班', 'regular', '2024', 2024, 2028,
  26. 'CS001', '计算机科学与技术学院', '计算机科学与技术', 'CS001', '全日制', '本科',
  27. 10001, '李明华', 10002, '王建国',
  28. 50, 50, 28, 22, 50,
  29. '0571-88000001', '888888001', 'cs2024001@hzdyjs.edu.cn', '1', 0,
  30. 1, NOW(), 1, NOW()
  31. ) ON DUPLICATE KEY UPDATE current_student_count = VALUES(current_student_count), male_count = VALUES(male_count), female_count = VALUES(female_count);
  32. -- 电子信息工程2024级1班
  33. INSERT INTO `xg_class_info` (
  34. `id`, `tenant_id`, `class_code`, `class_name`, `class_type`, `grade`, `enrollment_year`, `graduation_year`,
  35. `college_code`, `college_name`, `major_name`, `major_code`, `training_type`, `degree_type`,
  36. `counselor_id`, `counselor_name`, `class_teacher_id`, `class_teacher_name`,
  37. `planned_capacity`, `current_student_count`, `male_count`, `female_count`, `active_count`,
  38. `contact_phone`, `qq_group`, `email`, `class_status`, `is_graduation`,
  39. `create_by`, `create_time`, `update_by`, `update_time`
  40. ) VALUES (
  41. 1100002, '000000', 'EE2024001', '电子信息工程2024级1班', 'regular', '2024', 2024, 2028,
  42. 'EE001', '电子信息工程学院', '电子信息工程', 'EE001', '全日制', '本科',
  43. 10003, '张丽萍', 10004, '刘德华',
  44. 50, 50, 32, 18, 50,
  45. '0571-88000002', '888888002', 'ee2024001@hzdyjs.edu.cn', '1', 0,
  46. 1, NOW(), 1, NOW()
  47. ) ON DUPLICATE KEY UPDATE current_student_count = VALUES(current_student_count), male_count = VALUES(male_count), female_count = VALUES(female_count);
  48. -- 工商管理2024级1班
  49. INSERT INTO `xg_class_info` (
  50. `id`, `tenant_id`, `class_code`, `class_name`, `class_type`, `grade`, `enrollment_year`, `graduation_year`,
  51. `college_code`, `college_name`, `major_name`, `major_code`, `training_type`, `degree_type`,
  52. `counselor_id`, `counselor_name`, `class_teacher_id`, `class_teacher_name`,
  53. `planned_capacity`, `current_student_count`, `male_count`, `female_count`, `active_count`,
  54. `contact_phone`, `qq_group`, `email`, `class_status`, `is_graduation`,
  55. `create_by`, `create_time`, `update_by`, `update_time`
  56. ) VALUES (
  57. 1100003, '000000', 'BM2024001', '工商管理2024级1班', 'regular', '2024', 2024, 2028,
  58. 'BM001', '经济管理学院', '工商管理', 'BM001', '全日制', '本科',
  59. 10005, '陈建华', 10006, '赵文强',
  60. 50, 50, 20, 30, 50,
  61. '0571-88000003', '888888003', 'bm2024001@hzdyjs.edu.cn', '1', 0,
  62. 1, NOW(), 1, NOW()
  63. ) ON DUPLICATE KEY UPDATE current_student_count = VALUES(current_student_count), male_count = VALUES(male_count), female_count = VALUES(female_count);
  64. -- ==============================================
  65. -- 2. 生成150条学生信息数据
  66. -- ==============================================
  67. INSERT INTO `xg_student_info` (
  68. `id`, `tenant_id`, `student_id`, `name`, `gender`, `birth_date`, `id_card`, `nation`, `political_status`,
  69. `enrollment_date`, `education_length`, `major`, `class_id`, `class_name`, `student_status`, `training_type`,
  70. `phone`, `email`, `qq_number`, `wechat_number`, `home_address`, `emergency_contact`, `emergency_phone`, `emergency_relation`,
  71. `father_name`, `father_phone`, `mother_name`, `mother_phone`, `height`, `weight`, `blood_type`,
  72. `bank_card_number`, `bank_name`, `birthplace`, `native_place`, `hukou_type`, `middle_school`, `admission_score`,
  73. `info_status`, `data_source`, `create_by`, `create_time`, `update_by`, `update_time`
  74. ) VALUES
  75. (2100001, '000000', '202401001', '吕高格', 'M', '2005-03-09', '330195200503095076', '汉族', '02',
  76. '2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
  77. '13866652192', '吕高格@student.edu.cn', '3799031679', '吕高格_2005', '浙江省杭州市江干区湖滨路799号', '李志华', '13974914433', '父亲',
  78. '李志华', '13974914433', '叶美丽', '13738721701', 184.7, 68.7, 'B',
  79. '6222676649946794779', '浦发银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市余杭高级中学', 625.3,
  80. '1', 'manual', 1, NOW(), 1, NOW()),
  81. (2100002, '000000', '202401002', '杨志强', 'M', '2005-06-15', '330106200506151234', '汉族', '03',
  82. '2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
  83. '13801234568', '杨志强@student.edu.cn', '1234567891', '杨志强_2005', '浙江省杭州市西湖区文二路200号', '杨建华', '13901234568', '父亲',
  84. '杨建华', '13901234568', '刘小华', '13902234568', 176.2, 69.5, 'A',
  85. '6222001234567890124', '中国建设银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市第二中学', 628.8,
  86. '1', 'manual', 1, NOW(), 1, NOW()),
  87. (2100003, '000000', '202401003', '张浩然', 'M', '2005-09-20', '330108200509201234', '汉族', '03',
  88. '2024-09-01', 4, '计算机科学与技术', 1100001, '计算机科学与技术2024级1班', '1', '全日制',
  89. '13801234569', '张浩然@student.edu.cn', '1234567892', '张浩然_2005', '浙江省杭州市拱墅区莫干山路300号', '张建华', '13901234569', '父亲',
  90. '张建华', '13901234569', '李小华', '13902234569', 177.8, 70.2, 'B',
  91. '6222001234567890125', '中国农业银行', '浙江省杭州市', '浙江省杭州市', '城镇', '杭州市第三中学', 632.1,
  92. '1', 'manual', 1, NOW(), 1, NOW())
  93. ON DUPLICATE KEY UPDATE
  94. name = VALUES(name),
  95. gender = VALUES(gender),
  96. class_name = VALUES(class_name),
  97. student_status = VALUES(student_status),
  98. update_time = NOW();
  99. -- ==============================================
  100. -- 3. 创建班级学生关联关系
  101. -- ==============================================
  102. INSERT INTO `xg_class_student` (
  103. `id`, `tenant_id`, `class_id`, `student_id`, `student_number`, `student_name`,
  104. `class_position`, `position_level`, `relation_status`, `join_time`, `student_order`,
  105. `create_by`, `create_time`, `update_by`, `update_time`
  106. ) VALUES
  107. (3100001, '000000', 1100001, 2100001, '202401001', '吕高格',
  108. 'monitor', 1, '1', '2024-09-01', 1, 1, NOW(), 1, NOW()),
  109. (3100002, '000000', 1100001, 2100002, '202401002', '杨志强',
  110. 'deputy', 2, '1', '2024-09-01', 2, 1, NOW(), 1, NOW()),
  111. (3100003, '000000', 1100001, 2100003, '202401003', '张浩然',
  112. 'secretary', 3, '1', '2024-09-01', 3, 1, NOW(), 1, NOW())
  113. ON DUPLICATE KEY UPDATE
  114. student_name = VALUES(student_name),
  115. class_position = VALUES(class_position),
  116. update_time = NOW();
  117. -- ==============================================
  118. -- 4. 验证数据创建结果
  119. -- ==============================================
  120. -- 验证班级信息
  121. SELECT '=== 班级信息验证 ===' as info;
  122. SELECT id, class_code, class_name, college_name, major_name, current_student_count, male_count, female_count
  123. FROM xg_class_info
  124. WHERE id IN (1100001, 1100002, 1100003);
  125. -- 验证学生信息统计
  126. SELECT '=== 学生信息统计 ===' as info;
  127. SELECT
  128. class_id,
  129. class_name,
  130. COUNT(*) as total_count,
  131. SUM(CASE WHEN gender = 'M' THEN 1 ELSE 0 END) as male_count,
  132. SUM(CASE WHEN gender = 'F' THEN 1 ELSE 0 END) as female_count
  133. FROM xg_student_info
  134. WHERE class_id IN (1100001, 1100002, 1100003)
  135. GROUP BY class_id, class_name;
  136. -- 验证班级学生关联
  137. SELECT '=== 班级学生关联验证 ===' as info;
  138. SELECT
  139. cs.class_id,
  140. ci.class_name,
  141. COUNT(*) as student_count,
  142. SUM(CASE WHEN cs.class_position != 'member' THEN 1 ELSE 0 END) as position_count
  143. FROM xg_class_student cs
  144. JOIN xg_class_info ci ON cs.class_id = ci.id
  145. WHERE cs.class_id IN (1100001, 1100002, 1100003)
  146. GROUP BY cs.class_id, ci.class_name;
  147. -- 恢复外键检查
  148. SET FOREIGN_KEY_CHECKS = 1;
  149. SELECT '🎉 班级信息管理数据库准备完成!' as result;
  150. SELECT '📊 总计:3个班级信息,3条学生数据,3条关联关系' as summary;
  151. SELECT '✅ 数据字典:班级类型、班级状态字典已配置' as dict_status;