X 
微信扫码联系客服
获取报价、解决方案


李经理
13913191678
首页 > 知识库 > 校友管理系统> 用Python搭建一个简单的校友信息管理系统:从学生角度出发
校友管理系统在线试用
校友管理系统
在线试用
校友管理系统解决方案
校友管理系统
解决方案下载
校友管理系统源码
校友管理系统
源码授权
校友管理系统报价
校友管理系统
产品报价

用Python搭建一个简单的校友信息管理系统:从学生角度出发

2025-12-22 07:11

大家好,今天我要跟大家聊聊怎么用Python来写一个简单的校友信息管理系统。听起来是不是有点高大上?其实啊,这个系统就是用来管理学校里毕业学生的资料的。比如他们的姓名、学号、专业、联系方式等等。作为一个学生,可能平时不太会接触到这种系统,但如果你对编程感兴趣的话,那这绝对是个不错的练手项目。

首先,我得先说一下,为什么我们要做这样一个系统呢?因为现在学校里有很多校友,尤其是那些已经毕业了的同学,他们的信息需要被记录下来,方便以后联系或者做一些统计工作。而我们作为学生,如果能自己动手做一个小系统,不仅能锻炼自己的编程能力,还能更深入地理解数据库和数据结构这些概念。

那咱们就来一步步开始吧。首先,我们需要选择一个合适的开发语言和数据库。这里我选的是Python,因为它简单易学,而且功能强大。至于数据库,我打算用SQLite,因为它是一个轻量级的数据库,不需要安装额外的服务,非常适合小型项目。

接下来,我需要创建一个数据库表来存储校友的信息。这个表应该包括一些基本字段,比如ID(主键)、姓名、学号、专业、联系方式、毕业年份等。为了让大家更容易理解,我直接用SQL语句来创建这个表。代码如下:


import sqlite3

# 连接数据库
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()

# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS alumni (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    student_id TEXT NOT NULL UNIQUE,
    major TEXT NOT NULL,
    contact_info TEXT NOT NULL,
    graduation_year INTEGER NOT NULL
)
''')

# 提交更改并关闭连接
conn.commit()
conn.close()
    

这段代码的作用是:如果数据库中没有名为alumni.db的文件,它就会自动创建一个;然后检查是否有alumni这张表,如果没有就创建。这样我们就有了一个可以存储校友信息的数据库了。

接下来,我们可以写一些函数来操作这个数据库。比如说,添加一条校友信息、查询所有校友、根据学号查找某个同学、更新信息、删除信息等等。这里我先给大家展示一下添加功能的代码:


def add_alumni(name, student_id, major, contact_info, graduation_year):
    conn = sqlite3.connect('alumni.db')
    cursor = conn.cursor()
    cursor.execute('INSERT INTO alumni (name, student_id, major, contact_info, graduation_year) VALUES (?, ?, ?, ?, ?)',
                   (name, student_id, major, contact_info, graduation_year))
    conn.commit()
    conn.close()
    print("校友信息已添加!")
    

这个函数接收五个参数,分别是姓名、学号、专业、联系方式和毕业年份。然后通过SQL的INSERT语句把数据插入到数据库中。注意这里的?符号,是用来防止SQL注入的,是一种比较安全的做法。

接下来是查询功能。比如,我们想查出所有校友的信息,可以用下面的代码:


def get_all_alumni():
    conn = sqlite3.connect('alumni.db')
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM alumni')
    rows = cursor.fetchall()
    for row in rows:
        print(row)
    conn.close()
    

这个函数会从数据库中取出所有记录,并打印出来。你可以看到,每一行都是一个元组,包含了所有的字段信息。

当然,我们也可以根据学号来查找某个特定的校友。比如,输入学号,就能得到对应的信息:


def get_alumni_by_id(student_id):
    conn = sqlite3.connect('alumni.db')
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM alumni WHERE student_id = ?', (student_id,))
    row = cursor.fetchone()
    if row:
        print(row)
    else:
        print("未找到该校友信息。")
    conn.close()
    

这里用了fetchone()方法,只获取一条记录。如果没找到,就提示“未找到该校友信息。”

除了添加和查询,我们还可以更新和删除信息。比如,更新某个校友的联系方式:


def update_contact_info(student_id, new_contact):
    conn = sqlite3.connect('alumni.db')
    cursor = conn.cursor()
    cursor.execute('UPDATE alumni SET contact_info = ? WHERE student_id = ?',
                   (new_contact, student_id))
    conn.commit()
    conn.close()
    print("联系方式已更新!")
    

这个函数接收学号和新的联系方式,然后执行UPDATE语句进行修改。

最后是删除功能。比如,根据学号删除一个校友的信息:


def delete_alumni(student_id):
    conn = sqlite3.connect('alumni.db')
    cursor = conn.cursor()
    cursor.execute('DELETE FROM alumni WHERE student_id = ?', (student_id,))
    conn.commit()
    conn.close()
    print("校友信息已删除!")
    

这样,我们就完成了基本的CRUD操作(增删改查)。

不过,光有后端的功能还不够,我们还需要一个用户界面,让用户能够方便地操作这个系统。这时候,我们可以用Python中的Tkinter库来创建一个简单的图形界面。

比如,我们可以设计一个窗口,里面有输入框和按钮,让用户输入姓名、学号、专业、联系方式和毕业年份,然后点击“添加”按钮,就能把数据存入数据库。代码大致如下:


import tkinter as tk
from tkinter import messagebox

def add_to_db():
    name = entry_name.get()
    student_id = entry_id.get()
    major = entry_major.get()
    contact = entry_contact.get()
    year = entry_year.get()

    if not all([name, student_id, major, contact, year]):
        messagebox.showerror("错误", "请填写所有字段!")
        return

    try:
        year = int(year)
    except ValueError:
        messagebox.showerror("错误", "毕业年份必须是数字!")
        return

    add_alumni(name, student_id, major, contact, year)
    messagebox.showinfo("成功", "校友信息已添加!")

# 创建窗口
root = tk.Tk()
root.title("校友信息管理系统")

# 创建输入框和标签
tk.Label(root, text="姓名:").grid(row=0, column=0)
entry_name = tk.Entry(root)
entry_name.grid(row=0, column=1)

tk.Label(root, text="学号:").grid(row=1, column=0)
entry_id = tk.Entry(root)
entry_id.grid(row=1, column=1)

tk.Label(root, text="专业:").grid(row=2, column=0)
entry_major = tk.Entry(root)
entry_major.grid(row=2, column=1)

tk.Label(root, text="联系方式:").grid(row=3, column=0)
entry_contact = tk.Entry(root)
entry_contact.grid(row=3, column=1)

tk.Label(root, text="毕业年份:").grid(row=4, column=0)
entry_year = tk.Entry(root)
entry_year.grid(row=4, column=1)

# 添加按钮
btn_add = tk.Button(root, text="添加", command=add_to_db)
btn_add.grid(row=5, column=0, columnspan=2)

root.mainloop()
    

这段代码用到了Tkinter,创建了一个简单的窗口,里面有几个输入框和一个按钮。当用户点击“添加”时,会调用add_to_db函数,将数据保存到数据库中。

当然,这只是最基础的界面,你还可以继续扩展,比如添加查询按钮、显示所有校友的列表,甚至做成网页版,用Flask或Django框架来实现。

总的来说,这个校友信息管理系统虽然看起来简单,但它涉及了很多计算机方面的知识,比如数据库操作、Python编程、图形界面设计等。对于学生来说,这是一个很好的实践项目,既能巩固所学的知识,又能提升实际动手能力。

校友系统

如果你对这个项目感兴趣,建议你多动手试试。遇到问题不要怕,多查资料、多问人,慢慢就能掌握其中的技巧。记住,编程最重要的不是写出完美的代码,而是不断学习和改进的过程。

好了,今天的分享就到这里。希望这篇文章能对你有所启发,也欢迎你在评论区留言,告诉我你的想法或者遇到的问题。我们一起交流、一起进步!

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

标签: