当前位置: 首页 > 新闻资讯  > 研究生管理系统

用Python实现一个简易的研究生管理系统

本文将介绍如何使用Python和SQLite数据库来构建一个简单的研究生管理系统。我们将从基础的用户登录到研究生信息的增删改查进行详细讲解。

大家好,今天我要跟大家分享一下如何用Python编写一个简易的研究生管理系统。这个系统可以帮助我们更好地管理和查询研究生的相关信息。首先,我们需要确定我们的系统需要哪些功能,比如用户登录、注册,研究生信息的增删改查等。

我们先从创建数据库开始吧。这里我们使用的是SQLite,因为它简单易用,不需要单独运行服务端。我们可以使用Python的sqlite3模块来操作SQLite数据库。


import sqlite3

def create_db():
    conn = sqlite3.connect('grad_students.db')
    cursor = conn.cursor()
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS students (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            name TEXT NOT NULL,
            age INTEGER NOT NULL,
            major TEXT NOT NULL
        )
    ''')
    conn.commit()
    cursor.close()
    conn.close()

create_db()
        

接下来是用户登录功能,我们可以通过检查用户名和密码是否匹配来验证用户身份。这里我们先简单地在代码里定义一些固定的用户名和密码,实际应用中可以存储在数据库中。


users = {
    'admin': '123456',
    'student': '654321'
}

def login(username, password):
    if username in users and users[username] == password:
        return True
    else:
        return False
        

最后是研究生信息的增删改查功能,这部分主要是通过SQL语句来实现。


def add_student(name, age, major):
    conn = sqlite3.connect('grad_students.db')
    cursor = conn.cursor()
    cursor.execute('INSERT INTO students (name, age, major) VALUES (?, ?, ?)', (name, age, major))
    conn.commit()
    cursor.close()
    conn.close()

def delete_student(student_id):
    conn = sqlite3.connect('grad_students.db')
    cursor = conn.cursor()
    cursor.execute('DELETE FROM students WHERE id = ?', (student_id,))
    conn.commit()
    cursor.close()
    conn.close()

def update_student(student_id, name=None, age=None, major=None):
    conn = sqlite3.connect('grad_students.db')
    cursor = conn.cursor()
    updates = []
    params = []
    if name:
        updates.append("name = ?")
        params.append(name)
    if age:
        updates.append("age = ?")
        params.append(age)
    if major:
        updates.append("major = ?")
        params.append(major)
    if updates:
        query = "UPDATE students SET " + ", ".join(updates) + " WHERE id = ?"
        params.append(student_id)
        cursor.execute(query, tuple(params))
        conn.commit()
    cursor.close()
    conn.close()

def get_students():
    conn = sqlite3.connect('grad_students.db')
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM students')
    students = cursor.fetchall()
    cursor.close()
    conn.close()
    return students
        

研究生管理系统

本站部分内容及素材来源于互联网,如有侵权,联系必删!

相关资讯

    暂无相关的数据...