大家好,今天我要跟大家分享一下如何用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