import-student-data.sh 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #!/bin/bash
  2. # ==========================================
  3. # 学生数据导入脚本
  4. # 版本:V1.1.0
  5. # 功能:快速导入150条学生信息数据
  6. # 数据库:从项目配置文件自动获取连接信息
  7. # 作者:Cursor AI 辅助
  8. # 时间:2025-01-14 (V1.1.0 更新)
  9. # ==========================================
  10. # 颜色定义
  11. RED='\033[0;31m'
  12. GREEN='\033[0;32m'
  13. YELLOW='\033[1;33m'
  14. BLUE='\033[0;34m'
  15. NC='\033[0m' # No Color
  16. # 脚本信息
  17. echo -e "${BLUE}===========================================${NC}"
  18. echo -e "${BLUE}🎓 学生信息数据导入脚本${NC}"
  19. echo -e "${BLUE}===========================================${NC}"
  20. # 检查SQL文件是否存在
  21. if [ ! -f "complete-student-data.sql" ]; then
  22. echo -e "${RED}❌ 错误:找不到 complete-student-data.sql 文件${NC}"
  23. echo -e "${YELLOW}💡 请确保文件存在于当前目录${NC}"
  24. exit 1
  25. fi
  26. echo -e "${GREEN}✅ 找到数据文件:complete-student-data.sql${NC}"
  27. # 从项目配置文件获取数据库连接参数
  28. echo -e "${BLUE}📋 从项目配置获取数据库连接信息...${NC}"
  29. # 数据库连接参数(从 application-dev.yml 配置文件获取)
  30. DB_HOST="47.99.164.66"
  31. DB_PORT="3306"
  32. DB_NAME="hzdyjs_xg"
  33. DB_USER="root"
  34. DB_PASSWORD="hn02le.34lkdLKD"
  35. # 显示连接信息
  36. echo -e "${BLUE}===========================================${NC}"
  37. echo -e "${YELLOW}📊 数据库连接信息:${NC}"
  38. echo -e "主机: ${DB_HOST}"
  39. echo -e "端口: ${DB_PORT}"
  40. echo -e "数据库: ${DB_NAME}"
  41. echo -e "用户: ${DB_USER}"
  42. echo -e "密码: ${DB_PASSWORD:0:3}***${DB_PASSWORD: -3}"
  43. echo -e "${BLUE}===========================================${NC}"
  44. # 简化确认流程
  45. read -p "确认导入数据?(y/N): " CONFIRM
  46. if [ "$CONFIRM" != "y" ] && [ "$CONFIRM" != "Y" ]; then
  47. echo -e "${YELLOW}❌ 操作已取消${NC}"
  48. exit 0
  49. fi
  50. echo -e "${BLUE}🚀 开始导入数据...${NC}"
  51. # 执行SQL文件
  52. mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" < complete-student-data.sql
  53. # 检查执行结果
  54. if [ $? -eq 0 ]; then
  55. echo -e "${GREEN}===========================================${NC}"
  56. echo -e "${GREEN}🎉 数据导入成功!${NC}"
  57. echo -e "${GREEN}===========================================${NC}"
  58. echo -e "${GREEN}📊 导入内容:${NC}"
  59. echo -e " - 3个班级信息"
  60. echo -e " - 150条学生信息"
  61. echo -e " - 150条班级学生关联关系"
  62. echo -e "${GREEN}===========================================${NC}"
  63. echo -e "${YELLOW}👥 班级分布:${NC}"
  64. echo -e " - 计算机科学与技术2024级1班:50人(男28,女22)"
  65. echo -e " - 电子信息工程2024级1班:50人(男32,女18)"
  66. echo -e " - 工商管理2024级1班:50人(男20,女30)"
  67. echo -e "${GREEN}===========================================${NC}"
  68. else
  69. echo -e "${RED}===========================================${NC}"
  70. echo -e "${RED}❌ 数据导入失败!${NC}"
  71. echo -e "${RED}===========================================${NC}"
  72. echo -e "${YELLOW}💡 可能的原因:${NC}"
  73. echo -e " - 数据库连接失败"
  74. echo -e " - 数据表不存在"
  75. echo -e " - 权限不足"
  76. echo -e " - 数据冲突"
  77. echo -e "${YELLOW}🔧 建议检查:${NC}"
  78. echo -e " - 确认数据库连接信息"
  79. echo -e " - 确认数据表已创建"
  80. echo -e " - 确认用户权限"
  81. exit 1
  82. fi
  83. echo -e "${BLUE}🎓 学生信息数据导入完成!${NC}"