终端学生信息管理系统 - SQL与Java实现【附源码】

目录

引言

数据库设计

1. 创建数据库

2. 设计表结构

学生表

成绩表

课程表

班级表

Java操作示例

1. 添加学生信息

2. 查询学生班级信息(StudentClass)

3. 查询课程信息(StudentCourse)

4. 删除学生信息(StudentDelete)

5. 主菜单(StudentMain)

6. 查询学生信息(StudentQuery)

7. 查询学生成绩(StudentScore)

8. 更新学生信息(StudentUpdate)

9. 学生信息管理系统(StudentInformationManageSystems)

运行结果如下所示

实现步骤

结论


引言

在教育机构中,学生信息管理是一项重要的工作。传统的手工记录方式不仅效率低下,而且容易出错。随着数据库技术和编程语言的发展,利用计算机来管理学生信息成为可能。本文将介绍如何使用MySQL数据库和Java语言来构建一个简单的终端学生信息管理系统,该系统能够实现学生信息的添加、查询和更新等功能。

数据库设计

1. 创建数据库

首先,我们需要创建一个数据库来存储学生信息。在这个例子中,我们创建一个名为bookstore的数据库。

create database bookstore;

use bookstore;

CREATE TABLE `student` (
                           `学号` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                           `姓名` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                           `性别` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                           `出生日期` date DEFAULT NULL,
                           `地区` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
                           `民族` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '汉',
                           `班级编号` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
                           PRIMARY KEY (`学号`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci ROW_FORMAT=DYNAMIC;

INSERT INTO `student` VALUES ('2013110101', '张晓勇', '男', '1997-12-11', '山西', '汉', 'AC1301');
INSERT INTO `student` VALUES ('2013110103', '王一敏', '女', '1998-01-01', '河北', '汉', 'AC1301');
INSERT INTO `student` VALUES ('2013110201', '江山', '女', '1996-09-17', '内蒙古', '锡伯', 'AC1302');
INSERT INTO `student` VALUES ('2013110202', '李明', '男', '1996-01-14', '广西', '壮', 'AC1302');
INSERT INTO `student` VALUES ('2013310101', '黄菊', '女', '1995-09-30', '北京', '汉', 'IS1301');
INSERT INTO `student` VALUES ('2013310103', '吴昊', '男', '1995-11-18', '河北', '汉', 'IS1301');
INSERT INTO `student` VALUES ('2014210101', '刘涛', '男', '1997-04-03', '湖南', '侗', 'CS1401');
INSERT INTO `student` VALUES ('2014210102', '郭志坚', '男', '1997-02-21', '上海', '汉', 'CS1401');
INSERT INTO `student` VALUES ('2014310101', '王林', '男', '1996-10-09', '河南', '汉', 'IS1401');
INSERT INTO `student` VALUES ('2014310102', '李怡然', '女', '1996-12-31', '辽宁', '汉', 'IS1401');

CREATE TABLE `score` (
                         `学号` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                         `课程号` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                         `成绩` float(5,2) DEFAULT NULL,
                         PRIMARY KEY (`学号`,`课程号`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci ROW_FORMAT=DYNAMIC;

INSERT INTO `score` VALUES ('2013110101', '11003', '90.00');
INSERT INTO `score` VALUES ('2013110101', '21001', '86.00');
INSERT INTO `score` VALUES ('2013110103', '11003', '89.00');
INSERT INTO `score` VALUES ('2013110103', '21001', '86.00');
INSERT INTO `score` VALUES ('2013110201', '11003', '78.00');
INSERT INTO `score` VALUES ('2013110201', '21001', '92.00');
INSERT INTO `score` VALUES ('2013110202', '11003', '82.00');
INSERT INTO `score` VALUES ('2013110202', '21001', '85.00');
INSERT INTO `score` VALUES ('2013310101', '21004', '83.00');
INSERT INTO `score` VALUES ('2013310101', '31002', '68.00');
INSERT INTO `score` VALUES ('2013310103', '21004', '80.00');
INSERT INTO `score` VALUES ('2013310103', '31002', '76.00');
INSERT INTO `score` VALUES ('2014210101', '21002', '93.00');
INSERT INTO `score` VALUES ('2014210101', '21004', '89.00');
INSERT INTO `score` VALUES ('2014210102', '21002', '95.00');
INSERT INTO `score` VALUES ('2014210102', '21004', '88.00');
INSERT INTO `score` VALUES ('2014310101', '21001', '79.00');
INSERT INTO `score` VALUES ('2014310101', '21004', '80.00');
INSERT INTO `score` VALUES ('2014310102', '21001', '91.00');
INSERT INTO `score` VALUES ('2014310102', '21004', '87.00');

CREATE TABLE `course` (
                          `课程号` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                          `课程名` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                          `学分` int NOT NULL,
                          `学时` int NOT NULL,
                          `学期` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
                          `前置课` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
                          PRIMARY KEY (`课程号`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci ROW_FORMAT=DYNAMIC;

INSERT INTO `course` VALUES ('11003', '管理学', '2', '32', '2', null);
INSERT INTO `course` VALUES ('11005', '会计学', '3', '48', '2', null);
INSERT INTO `course` VALUES ('21001', '计算机基础', '3', '48', '1', null);
INSERT INTO `course` VALUES ('21002', 'OFFICE高级应用', '3', '48', '2', '21001');
INSERT INTO `course` VALUES ('21004', '程序设计', '4', '64', '2', '21001');
INSERT INTO `course` VALUES ('21005', '数据库', '4', '64', '4', '21004');
INSERT INTO `course` VALUES ('21006', '操作系统', '4', '64', '5', '21001');
INSERT INTO `course` VALUES ('31001', '管理信息系统', '3', '48', '3', '21004');
INSERT INTO `course` VALUES ('31002', '信息系统_分析与设计', '2', '32', '4', '31001');
INSERT INTO `course` VALUES ('31005', '项目管理', '3', '48', '5', '31001');

CREATE TABLE `class` (
                         `班级编号` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                         `班级名称` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                         `院系` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
                         `年级` int DEFAULT NULL,
                         `人数` int DEFAULT NULL,
                         PRIMARY KEY (`班级编号`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci ROW_FORMAT=DYNAMIC;

INSERT INTO `class` VALUES ('AC1301', '会计13-1班', '会计学院', '2013', '35');
INSERT INTO `class` VALUES ('AC1302', '会计13-2班', '会计学院', '2013', '35');
INSERT INTO `class` VALUES ('CS1401', '计算机14-1班', '计算机学院', '2014', '35');
INSERT INTO `class` VALUES ('IS1301', '信息系统13-1班', '信息学院', '2013', null);
INSERT INTO `class` VALUES ('IS1401', '信息系统14-1班', '信息学院', null, '30');

2. 设计表结构

接着,我们定义了四个表:student(学生表)、score(成绩表)、course(课程表)和class(班级表)。

学生表

学生表用于存储学生的基本信息,包括学号、姓名、性别、出生日期等字段。

成绩表

成绩表用于记录学生的课程成绩,包括学号和课程号作为联合主键。

课程表

课程表用于存储课程的相关信息,如课程号、课程名、学分等。

班级表

班级表用于存储班级的基本信息,如班级编号、班级名称、所属院系等。

Java操作示例

1. 添加学生信息

通过编写一个Java类StudentAdd,我们可以实现向数据库中添加学生信息的功能。用户可以通过控制台输入学生的各项信息,然后将其保存到数据库中。


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class StudentAdd {
    public static void add() {
        Connection connection;
        try {
            //1.加载和注册JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建数据库连接字符串
            String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false";
            String name = "root";
            String password = "root";
            //3.建立数据库连接
            connection = DriverManager.getConnection(url, name, password);
            //4.创建Statement对象
            Statement stmt = connection.createStatement();

            //5.接收用户输入的信息
            Scanner input = new Scanner(System.in);
            System.out.println("请输入学号:");
            int id = input.nextInt();
            System.out.println("请输入姓名:");
            String studnetname = input.next();
            System.out.println("请输入性别:");
            String gender = input.next();
            System.out.println("请输入出生日期:");
            String brithday = input.next();
            System.out.println("请输入地区:");
            String area = input.next();
            System.out.println("请输入民族:");
            String nation = input.next();
            System.out.println("请输入班级编号:");
            String classId = input.next();
            //6.拼接插入SQL语句
            String sql = "insert into bookstore.student(学号, 姓名, 性别, 出生日期, 地区, 民族, 班级编号) " +
                    "values(" + id + ",'" + studnetname + "','" + gender + "','" + brithday + "','" + area + "','" + nation + "','" + classId + "') ";
            //7.执行插入操作,获取操作影响的行数
            stmt.executeUpdate(sql);
            System.out.println("学生添加成功!");
            //8.关闭连接,释放资源
            stmt.close();
            connection.close();
        } catch (SQLException | ClassNotFoundException exception) {
            // 异常处理
            throw new RuntimeException(exception);
        }
    }
}

2. 查询学生班级信息(StudentClass

StudentClass类用于查询学生的班级信息。用户输入学生的姓名,程序将返回该学生所在的班级详情。


import java.sql.*;
import java.util.Scanner;

public class StudentClass {
    public static void stuclass() {
        Connection connection;
        try {
            //1.加载和注册JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建数据库连接字符串
            String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false";
            String name = "root";
            String password = "root";
            //3.建立数据库连接
            connection = DriverManager.getConnection(url, name, password);
            //4.创建Statement对象
            Statement stmt = connection.createStatement();
            //5.接收用户输入的学生姓名
            Scanner input = new Scanner(System.in);
            System.out.println("请输入学生姓名:");
            String stuname = input.next();
            //6.通过学生姓名查询所在班级的详细信息
            String sql = "select * from bookstore.class where 班级编号 = (select 班级编号 from bookstore.student where 姓名 = '"+stuname+"')";
            //7.执行SQL查询
            ResultSet resultSet = stmt.executeQuery(sql);
            //8.打印表头信息
            System.out.println("班级编号     |     班级名称     |     院系     |     年级     |     人数     |");
            //9.遍历结果集,并将每条记录的信息打印出来
            while (resultSet.next()){
                String classid = resultSet.getString("班级编号");
                String classname = resultSet.getString("班级名称");
                String college= resultSet.getString("院系");
                String grade = resultSet.getString("年级");
                String popluations = resultSet.getString("人数");
                System.out.println(classid+"   |   "+classname+"   |" +
                        "   "+college+"   |   "+grade+"   |   "+popluations+"   |   ");
            }
            //10.关闭连接,释放资源
            stmt.close();
            connection.close();
        } catch (SQLException | ClassNotFoundException exception) {
            // 异常处理
            throw new RuntimeException(exception);
        }
    }
}

3. 查询课程信息(StudentCourse

StudentCourse类可以帮助用户查询特定课程的信息,如课程号、课程名、学分等。


import java.sql.*;
import java.util.Scanner;

public class StudentCourse {
    //课程查询方法
    public static void course() {
        Connection connection;
        try {
            //1.加载和注册JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建数据库连接字符串
            String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false";
            String name = "root";
            String password = "root";
            //3.建立数据库连接
            connection = DriverManager.getConnection(url, name, password);
            //4.创建Statement对象
            Statement stmt = connection.createStatement();
            //5.接收用户输入的学生姓名
            Scanner input = new Scanner(System.in);
            System.out.println("请输入学生姓名:");
            String stuname = input.next();
            //6.根据学生姓名查询该学生的课程信息
            String sql = "select * from bookstore.course where 课程号 =" +
                    " any (select 课程号 from bookstore.score where 学号 = any (select 学号 from bookstore.student where 姓名 = '"+stuname+"'))";
            //7.执行数据查询
            ResultSet resultSet = stmt.executeQuery(sql);
            //8.打印表头信息
            System.out.println("课程号   |   课程名   |   学分   |   学时   |   学期   |");
            //9.遍历查询的结果集,并打印到控制台上
            while (resultSet.next()){
                String coureid = resultSet.getString("课程号");
                String courename = resultSet.getString("课程名");
                String score = resultSet.getString("学分");
                String time = resultSet.getString("学时");
                String term = resultSet.getString("学期");
                System.out.println(coureid+"   |   "+courename+"   |   "+score+"   |   "+time+"   |   "+term+"   |   ");
            }
            //10.关闭连接和释放资源
            stmt.close();
            connection.close();
        } catch (SQLException | ClassNotFoundException exception) {
            // 异常处理
            throw new RuntimeException(exception);
        }
    }
}

4. 删除学生信息(StudentDelete

StudentDelete类用于从数据库中删除学生信息。用户需要输入学生的学号,程序会删除对应的记录。


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class StudentDelete {
    //删除学生的方法
    public static void delete(){
        Connection connection;
        try {
            //1.创建数据库连接字符串
            String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false";
            String name = "root";
            String password = "root";
            //2.建立数据库连接
            connection = DriverManager.getConnection(url, name, password);
            //3.创建Statement对象
            Statement stmt = connection.createStatement();
            //4.接收用户输入的学号,根据学号删除学生信息
            Scanner input = new Scanner(System.in);
            System.out.println("请输入要删除的学号:");
            int id = input.nextInt();
            //5.拼接SQL删除语句
            String sql = "delete from bookstore.student where 学号 = " + id;
            //6.执行删除操作
            stmt.executeUpdate(sql);
            //7.打印删除成功的提示信息
            System.out.println("学生删除成功!");
            //8.关闭连接,释放资源
            stmt.close();
            connection.close();
        } catch (SQLException exception) {
            // 异常处理
            throw new RuntimeException(exception);
        }
    }
}

5. 主菜单(StudentMain

StudentMain类充当整个系统的入口点,它提供了一个菜单供用户选择所需的功能。例如,添加学生信息、查询成绩、更新信息等。


public class StudentMain {
 
    public static void studentmains(){
        System.out.println("1.增加学生信息");
        System.out.println("2.查询学生信息");
        System.out.println("3.修改学生信息");
        System.out.println("4.删除学生信息");
        System.out.println("5.查询学生所在班级");
        System.out.println("6.查询学生所选课程");
        System.out.println("7.查询学生所课程成绩");
        System.out.println("8.退出");
        System.out.println("-------------------");
        System.out.println("请输入你的选择:");
    }
}

6. 查询学生信息(StudentQuery

StudentQuery类用于查询学生的详细信息。用户输入学生的学号,程序将返回该学生的全部信息。


import java.sql.*;

public class StudentQuery {
    //查询学生的方法
    public static void query(){
        Connection connection;
        try {
            //1.加载和注册JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.创建数据库连接字符串
            String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false";
            String name = "root";
            String password = "root";
            //3.建立数据库连接
            connection = DriverManager.getConnection(url,name,password);
            //4.创建Statement对象
            Statement stmt = connection.createStatement();
            //5.编写SQL查询语句
            String sql = "select * from student";
            //6.执行SQL查询语句并获取结果集
            ResultSet resultSet = stmt.executeQuery(sql);
            //7.遍历结果集,将结果集中的数据打印到控制台
            while(resultSet.next()){
                int id = resultSet.getInt("学号");
                String Studentname = resultSet.getString("姓名");
                String gender = resultSet.getString("性别");
                String brithday = resultSet.getString("出生日期");
                String area = resultSet.getString("地区");
                String nation = resultSet.getString("民族");
                String classId = resultSet.getString("班级编号");
                System.out.println("学号:"+id+"  姓名:"+Studentname+" 性别:"+gender+" 出生日期:"
                        +brithday+" 地区:"+area+" 民族:"+nation+" 班级编号:"+classId);
            }
            //8.关闭连接和声明,释放资源
            stmt.close();
            connection.close();
        } catch (SQLException | ClassNotFoundException ex) {
            // 异常处理
            throw new RuntimeException(ex);
        }
    }
}

7. 查询学生成绩(StudentScore

StudentScore类用于查询学生的成绩。用户需要输入学生的姓名和课程名,程序将返回对应的成绩。

import java.sql.*;                   // 导入JDBC相关类
import java.util.Scanner;            // 导入Scanner类用于从控制台读取输入

public class StudentScore {
    // 定义一个静态方法,用于查询学生成绩
    public static void score() {
        Connection connection;        // 声明一个Connection对象,用于存储与数据库的连接
        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 定义数据库连接字符串
            String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false";

            // 定义数据库用户名和密码
            String name = "root";
            String password = "root";

            // 通过DriverManager获取数据库连接
            connection = DriverManager.getConnection(url, name, password);

            // 创建一个Statement对象,用于执行SQL语句
            Statement stmt = connection.createStatement();

            // 创建一个Scanner对象,用于从控制台读取输入
            Scanner input = new Scanner(System.in);

            // 提示用户输入学生姓名
            System.out.println("请输入学生姓名:");
            String stuname = input.next(); // 读取用户输入的学生姓名

            // 提示用户输入课程名
            System.out.println("请输入课程名:");
            String coursename = input.next(); // 读取用户输入的课程名

            // 构造SQL查询语句,这里使用了子查询来连接三个表(score, student, course)
            // 注意:SQL语句中的'and'前面缺少了一个空格,这会导致SQL语法错误
            String sql = "select 成绩 from score where 学号 = any (select 学号 from student where 姓名 = '" + stuname + "') and " +
                    "课程号 = any (select 课程号 from course where 课程名 = '" + coursename + "')";

            // 执行查询语句,并获取结果集
            ResultSet resultSet = stmt.executeQuery(sql);

            // 遍历结果集并输出学生成绩
            while (resultSet.next()) {
                int score = resultSet.getInt("成绩"); // 从结果集中获取成绩字段的值
                System.out.println("----------------");
                System.out.println("成绩:" + score);
                System.out.println("----------------");
            }

            // 关闭Statement和ResultSet对象(虽然代码中没有显示关闭ResultSet,但通常应该这样做)
            // stmt.close(); // 这里应该添加,但注意,如果之后还需要使用stmt,则不应该在这里关闭它
            // resultSet.close(); // 这里也应该添加

            // 关闭数据库连接
            connection.close();

        } catch (SQLException | ClassNotFoundException exception) {
            // 捕获SQLException或ClassNotFoundException异常,并抛出一个运行时异常
            throw new RuntimeException(exception);
        }
    }
}

8. 更新学生信息(StudentUpdate

StudentUpdate类用于更新学生的某些信息。用户输入需要修改的学生学号以及具体的列名和新值,程序会执行相应的更新操作。

import java.sql.Connection; // 导入java.sql包中的Connection接口,用于与数据库建立连接
import java.sql.DriverManager; // 导入java.sql包中的DriverManager类,用于管理JDBC驱动程序
import java.sql.SQLException; // 导入java.sql包中的SQLException类,表示在数据库操作中遇到的错误
import java.sql.Statement; // 导入java.sql包中的Statement接口,用于执行静态SQL语句
import java.util.Scanner; // 导入java.util包中的Scanner类,用于从控制台读取输入

public class StudentUpdate {
    // 定义一个静态方法,用于更新学生信息
    public static void update(){
        Connection connection; // 声明一个Connection对象,用于存储与数据库的连接
        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 定义数据库连接字符串
            String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false";

            // 定义数据库用户名和密码
            String name = "root";
            String password = "root";

            // 通过DriverManager获取数据库连接
            connection = DriverManager.getConnection(url, name, password);

            // 创建一个Statement对象,用于执行SQL语句
            Statement stmt = connection.createStatement();

            // 创建一个Scanner对象,用于从控制台读取输入
            Scanner input = new Scanner(System.in);

            // 提示用户输入要修改学生的学号
            System.out.println("请输入要修改学生的学号:");
            int id = input.nextInt(); // 读取用户输入的学号

            // 提示用户输入要修改的列名
            System.out.println("请输入要修改的列:");
            String colum = input.next(); // 读取用户输入的列名

            // 提示用户输入要修改的值
            System.out.println("请输入要修改的值:");
            String value = input.next(); // 读取用户输入的值

            // 构造SQL更新语句,注意这里的SQL语句可能存在SQL注入风险
            String sql = "UPDATE bookstore.student SET " + colum + " = '" + value + "' WHERE 学号 = " + id;

            // 执行更新操作
            stmt.executeUpdate(sql);

            // 输出更新成功的提示信息
            System.out.println("学生修改成功!");

            // 关闭Statement和Connection对象,释放资源
            stmt.close();
            connection.close();

        } catch (SQLException | ClassNotFoundException e) {
            // 捕获SQLException或ClassNotFoundException异常,并抛出一个运行时异常
            throw new RuntimeException(e);
        }
    }
}

9. 学生信息管理系统(StudentInformationManageSystems

StudentInformationManageSystems类可能是整合了上述功能的一个综合管理类,提供了一个统一的界面来管理所有的学生信息操作。


import java.util.Scanner;

public class StudentInformationManageSystems {
    public static void main(String[] args) {
        //打印欢迎语句
        System.out.println("-------------欢迎来到学生信息管理系统---------");
        //调用学生主菜单的方法
        StudentMain.studentmains();
        //使用while真循环使菜单可以反复显示
        while (true){
            //创建一个Scanner对象来获取用户的输入
            Scanner input = new Scanner(System.in);
            int scan = input.nextInt();
            //使用switch-case结构来实现多选项
            switch (scan){
                case 1:
                    //增加学生信息
                    StudentAdd.add();
                    System.out.println("-----------------------");
                    StudentMain.studentmains();
                    break;
                case 2:
                    //查询学生信息
                    StudentQuery.query();
                    System.out.println("-----------------------");
                    StudentMain.studentmains();
                    break;
                case 3:
                    //更新学生信息
                    StudentUpdate.update();
                    System.out.println("-----------------------");
                    StudentMain.studentmains();
                    break;
                case 4:
                    //删除学生信息
                    StudentDelete.delete();
                    System.out.println("-----------------------");
                    StudentMain.studentmains();
                    break;
                case 5:
                    //查询学生班级
                    StudentClass.stuclass();
                    System.out.println("-----------------------");
                    StudentMain.studentmains();
                    break;
                case 6:
                    //查询学生课程
                    StudentCourse.course();
                    System.out.println("-----------------------");
                    StudentMain.studentmains();
                    break;
                case 7:
                    //查询学生成绩
                    StudentScore.score();
                    System.out.println("-----------------------");
                    StudentMain.studentmains();
                    break;
                case 8:
                    //退出系统
                    System.exit(0);
                default:
                    //输入错误时,打印错误信息并退出程序
                    System.out.println("无效的输入!");
                    System.exit(0);
            }
        }
    }
}

运行结果如下所示

实现步骤

  1. 加载数据库驱动:在Java程序中加载MySQL JDBC驱动。
  2. 建立数据库连接:使用用户名和密码连接到数据库。
  3. 执行SQL语句:根据功能需求构造并执行相应的SQL语句。
  4. 处理结果:对于查询操作,处理查询结果;对于更新操作,检查是否成功。
  5. 关闭连接:完成操作后关闭数据库连接,释放资源。

结论

通过本文的介绍,我们了解了如何使用MySQL数据库和Java语言来实现一个简单的学生信息管理系统。这种系统不仅提高了管理效率,还减少了人为错误。对于学习数据库管理和Java编程的同学来说,这是一个很好的实践项目。

源码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值