学生信息管理系统源码下载

以下是一个基于Python和SQLite的学生信息管理系统源码,包含完整的增删改查功能,您可以直接复制使用或下载。

学生信息管理源码下载

源码下载链接

系统功能

  1. 添加学生信息(学号、姓名、年龄、性别、班级)
  2. 删除学生信息(按学号)
  3. 修改学生信息(按学号)
  4. 查询学生信息(按学号、姓名、班级)
  5. 显示所有学生信息
  6. 数据持久化存储(SQLite数据库)

核心代码示例

import sqlite3
from tabulate import tabulate
class StudentManagementSystem:
    def __init__(self):
        self.conn = sqlite3.connect('students.db')
        self.cursor = self.conn.cursor()
        self.create_table()
    def create_table(self):
        self.cursor.execute('''
            CREATE TABLE IF NOT EXISTS students (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                student_id TEXT UNIQUE NOT NULL,
                name TEXT NOT NULL,
                age INTEGER,
                gender TEXT,
                class_name TEXT
            )
        ''')
        self.conn.commit()
    def add_student(self):
        student_id = input("请输入学号: ")
        name = input("请输入姓名: ")
        age = input("请输入年龄: ")
        gender = input("请输入性别: ")
        class_name = input("请输入班级: ")
        try:
            self.cursor.execute('''
                INSERT INTO students (student_id, name, age, gender, class_name)
                VALUES (?, ?, ?, ?, ?)
            ''', (student_id, name, age, gender, class_name))
            self.conn.commit()
            print("学生信息添加成功!")
        except sqlite3.IntegrityError:
            print("错误: 该学号已存在!")
    def delete_student(self):
        student_id = input("请输入要删除的学生学号: ")
        self.cursor.execute('DELETE FROM students WHERE student_id = ?', (student_id,))
        if self.cursor.rowcount > 0:
            self.conn.commit()
            print("学生信息删除成功!")
        else:
            print("未找到该学号的学生!")
    def update_student(self):
        student_id = input("请输入要修改的学生学号: ")
        # 检查学生是否存在
        self.cursor.execute('SELECT * FROM students WHERE student_id = ?', (student_id,))
        student = self.cursor.fetchone()
        if not student:
            print("未找到该学号的学生!")
            return
        print(f"当前学生信息: {student}")
        name = input(f"请输入新姓名(当前: {student[1]}): ") or student[1]
        age = input(f"请输入新年龄(当前: {student[2]}): ") or student[2]
        gender = input(f"请输入新性别(当前: {student[3]}): ") or student[3]
        class_name = input(f"请输入新班级(当前: {student[4]}): ") or student[4]
        self.cursor.execute('''
            UPDATE students 
            SET name = ?, age = ?, gender = ?, class_name = ?
            WHERE student_id = ?
        ''', (name, age, gender, class_name, student_id))
        self.conn.commit()
        print("学生信息更新成功!")
    def search_student(self):
        keyword = input("请输入学号、姓名或班级进行查询: ")
        self.cursor.execute('''
            SELECT * FROM students 
            WHERE student_id LIKE ? OR name LIKE ? OR class_name LIKE ?
        ''', (f'%{keyword}%', f'%{keyword}%', f'%{keyword}%'))
        students = self.cursor.fetchall()
        if students:
            print("\n查询结果:")
            print(tabulate(students, headers=["ID", "学号", "姓名", "年龄", "性别", "班级"], tablefmt="grid"))
        else:
            print("未找到匹配的学生信息!")
    def display_all(self):
        self.cursor.execute('SELECT * FROM students')
        students = self.cursor.fetchall()
        if students:
            print("\n所有学生信息:")
            print(tabulate(students, headers=["ID", "学号", "姓名", "年龄", "性别", "班级"], tablefmt="grid"))
        else:
            print("当前没有学生信息!")
    def run(self):
        while True:
            print("\n学生信息管理系统")
            print("1. 添加学生")
            print("2. 删除学生")
            print("3. 修改学生信息")
            print("4. 查询学生")
            print("5. 显示所有学生")
            print("6. 退出系统")
            choice = input("请选择操作(1-6): ")
            if choice == '1':
                self.add_student()
            elif choice == '2':
                self.delete_student()
            elif choice == '3':
                self.update_student()
            elif choice == '4':
                self.search_student()
            elif choice == '5':
                self.display_all()
            elif choice == '6':
                print("感谢使用,再见!")
                break
            else:
                print("无效的选择,请重新输入!")
if __name__ == "__main__":
    system = StudentManagementSystem()
    system.run()

系统要求

  • Python 3.6+
  • 需要安装的库:
    pip install tabulate

使用说明

  1. 将代码保存为 student_management.py
  2. 运行程序:python student_management.py
  3. 按照菜单提示操作

其他版本

如果您需要其他技术栈的实现,以下是一些常见选项:

  1. Java版本:使用Swing或JavaFX开发GUI,MySQL或SQLite作为数据库
  2. Web版本:使用Django/Flask后端,Vue/React前端,MySQL数据库
  3. C#版本:使用WinForms/WPF开发桌面应用,SQL Server数据库

如需特定版本的源码,请告知您的技术栈需求,我可以提供相应的代码示例。

学生信息管理源码下载

学生信息管理源码下载

相关内容

回顶部