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


李经理
13913191678
首页 > 知识库 > 校友管理系统> 用Python打造一个简单的校友管理系统
校友管理系统在线试用
校友管理系统
在线试用
校友管理系统解决方案
校友管理系统
解决方案下载
校友管理系统源码
校友管理系统
源码授权
校友管理系统报价
校友管理系统
产品报价

用Python打造一个简单的校友管理系统

2025-12-25 07:11

嘿,大家好!今天咱们来聊聊怎么用Python写一个校友管理系统。你可能觉得这听起来有点复杂,但其实挺简单的,尤其是如果你对编程有一点点了解的话。别担心,我不会太深入技术细节,就是用一种轻松的方式,带你一步步走一遍。

 

首先,我们得弄清楚什么是“校友管理系统”。简单来说,它就是一个用来存储和管理学校毕业生信息的系统。比如,姓名、毕业年份、联系方式、工作单位等等。学校有时候需要这些信息来做校友活动、发邮件通知或者做研究分析。所以,一个好用的校友管理系统就显得特别重要了。

 

那么,怎么开始呢?首先,我们需要选一个合适的编程语言。Python是一个不错的选择,因为它语法简单,而且有很多现成的库可以用。比如说,我们可以用SQLite来存数据,因为它是轻量级的,不需要安装额外的服务,直接在本地就能运行。

 

接下来,我们要设计一下这个系统的结构。一般来说,校友的信息应该包括:姓名、性别、出生日期、毕业年份、专业、联系方式(比如电话或邮箱)、工作单位等。这些信息可以保存在一个数据库里,方便查询和管理。

 

所以,我们先从创建数据库开始。这里我用的是SQLite,它是一个嵌入式的数据库,非常适合小型项目。我们可以通过Python的sqlite3模块来操作它。下面是一段代码,用来创建一个校友信息的表:

 

    import sqlite3

    # 连接到数据库(如果不存在则会自动创建)
    conn = sqlite3.connect('alumni.db')

    # 创建游标对象
    c = conn.cursor()

    # 创建校友信息表
    c.execute('''CREATE TABLE IF NOT EXISTS alumni
                 (id INTEGER PRIMARY KEY AUTOINCREMENT,
                  name TEXT NOT NULL,
                  gender TEXT,
                  birth_date TEXT,
                  graduation_year INTEGER,
                  major TEXT,
                  contact_info TEXT,
                  job_company TEXT)''')

    # 提交更改
    conn.commit()

    # 关闭连接
    conn.close()
    

 

这段代码的作用是创建一个名为`alumni.db`的数据库文件,并在里面建立一个叫做`alumni`的表。表中包含了一些基本字段,比如姓名、性别、出生日期、毕业年份、专业、联系方式和工作单位。你可以根据实际需求调整这些字段。

 

现在,我们已经有了一个数据库,接下来就是如何往里面添加数据了。我们可以写一个函数,用来插入新的校友信息。比如:

 

    def add_alumni(name, gender, birth_date, graduation_year, major, contact_info, job_company):
        conn = sqlite3.connect('alumni.db')
        c = conn.cursor()
        c.execute("INSERT INTO alumni (name, gender, birth_date, graduation_year, major, contact_info, job_company) VALUES (?, ?, ?, ?, ?, ?, ?)",
                  (name, gender, birth_date, graduation_year, major, contact_info, job_company))
        conn.commit()
        conn.close()
    

 

这个函数接收多个参数,然后把这些信息插入到数据库中。注意,这里用了`?`作为占位符,这样可以防止SQL注入的问题,安全性更高。

 

除了添加数据,我们还需要能够查询数据。比如,按姓名查找某个校友的信息,或者按毕业年份筛选出所有2015年的毕业生。下面是一个查询函数的例子:

校友管理系统

 

    def search_alumni(name):
        conn = sqlite3.connect('alumni.db')
        c = conn.cursor()
        c.execute("SELECT * FROM alumni WHERE name LIKE ?", ('%' + name + '%',))
        results = c.fetchall()
        conn.close()
        return results
    

 

这个函数使用了`LIKE`关键字,允许模糊匹配,也就是说,即使输入的名字不完全正确,也能找到相关的记录。返回的结果是一个列表,每个元素都是一个元组,代表一条校友信息。

 

另外,我们还可以实现更新和删除功能。比如,当某个校友的信息发生变化时,可以调用更新函数;当某个校友不再需要保留时,也可以删除他。这部分的代码如下:

 

    def update_alumni(id, name=None, gender=None, birth_date=None, graduation_year=None, major=None, contact_info=None, job_company=None):
        conn = sqlite3.connect('alumni.db')
        c = conn.cursor()
        fields = []
        values = []
        if name:
            fields.append("name = ?")
            values.append(name)
        if gender:
            fields.append("gender = ?")
            values.append(gender)
        if birth_date:
            fields.append("birth_date = ?")
            values.append(birth_date)
        if graduation_year:
            fields.append("graduation_year = ?")
            values.append(graduation_year)
        if major:
            fields.append("major = ?")
            values.append(major)
        if contact_info:
            fields.append("contact_info = ?")
            values.append(contact_info)
        if job_company:
            fields.append("job_company = ?")
            values.append(job_company)

        if not fields:
            return

        query = "UPDATE alumni SET " + ", ".join(fields) + " WHERE id = ?"
        values.append(id)
        c.execute(query, values)
        conn.commit()
        conn.close()

    def delete_alumni(id):
        conn = sqlite3.connect('alumni.db')
        c = conn.cursor()
        c.execute("DELETE FROM alumni WHERE id = ?", (id,))
        conn.commit()
        conn.close()
    

校友管理

 

你看,这些函数都比较简单,只需要知道怎么操作数据库就行。不过,为了更好地使用这些功能,我们可以再写一个简单的命令行界面,让用户可以方便地操作这个系统。

 

比如,我们可以做一个菜单,让用户选择添加、查询、更新或删除校友信息。下面是一个简单的例子:

 

    def main():
        while True:
            print("\n--- 校友管理系统 ---")
            print("1. 添加校友")
            print("2. 查询校友")
            print("3. 更新校友")
            print("4. 删除校友")
            print("5. 退出")
            choice = input("请选择: ")

            if choice == '1':
                name = input("姓名: ")
                gender = input("性别: ")
                birth_date = input("出生日期 (YYYY-MM-DD): ")
                graduation_year = int(input("毕业年份: "))
                major = input("专业: ")
                contact_info = input("联系方式: ")
                job_company = input("工作单位: ")
                add_alumni(name, gender, birth_date, graduation_year, major, contact_info, job_company)
                print("校友信息已添加!")

            elif choice == '2':
                name = input("请输入要查询的姓名: ")
                results = search_alumni(name)
                if results:
                    for row in results:
                        print(f"ID: {row[0]}, 姓名: {row[1]}, 性别: {row[2]}, 出生日期: {row[3]}, 毕业年份: {row[4]}, 专业: {row[5]}, 联系方式: {row[6]}, 工作单位: {row[7]}")
                else:
                    print("未找到相关校友信息。")

            elif choice == '3':
                id = int(input("请输入要更新的校友ID: "))
                name = input("姓名 (留空表示不修改): ")
                gender = input("性别 (留空表示不修改): ")
                birth_date = input("出生日期 (留空表示不修改): ")
                graduation_year = input("毕业年份 (留空表示不修改): ")
                major = input("专业 (留空表示不修改): ")
                contact_info = input("联系方式 (留空表示不修改): ")
                job_company = input("工作单位 (留空表示不修改): ")

                # 将字符串转换为整数
                if graduation_year:
                    graduation_year = int(graduation_year)
                else:
                    graduation_year = None

                update_alumni(id, name, gender, birth_date, graduation_year, major, contact_info, job_company)
                print("校友信息已更新!")

            elif choice == '4':
                id = int(input("请输入要删除的校友ID: "))
                delete_alumni(id)
                print("校友信息已删除!")

            elif choice == '5':
                print("退出程序。")
                break

            else:
                print("无效选项,请重新选择。")
    

 

这个`main()`函数就是整个系统的入口,用户可以通过输入数字来选择不同的操作。看起来是不是很像游戏中的菜单?其实这就是一个简单的控制台应用,但功能却很实用。

 

当然,这只是最基础的一个版本,如果你想要更高级的功能,比如导出数据为Excel、支持多用户登录、图形化界面(GUI)等,那就需要更复杂的代码了。不过对于学校来说,这样的系统已经足够用了。

 

再说一点,虽然我们用的是SQLite,但它并不适合处理非常大的数据集。如果学校有上万条校友信息,那可能就需要换一个更强大的数据库,比如MySQL或者PostgreSQL。不过对于大多数中小型学校来说,SQLite已经足够。

 

这篇文章讲的主要是如何用Python和SQLite搭建一个简单的校友管理系统。如果你对编程不太熟悉,也可以考虑使用一些现成的软件或平台,比如WordPress插件、Google Sheets或者Airtable。不过,自己动手写一个,不仅能满足需求,还能学到很多东西。

 

最后,如果你想把这个系统扩展成一个Web应用,那就可以用Flask或者Django这样的框架来开发。这样的话,用户就不需要在命令行里操作了,而是通过网页来访问系统,更加方便。

 

总之,不管你是学生还是老师,都可以尝试着自己动手做一个校友管理系统。你会发现,原来编程并没有想象中那么难,而且能解决实际问题,真的很有趣!

 

好了,今天的分享就到这里。希望这篇文章对你有帮助,也欢迎你在评论区留言,告诉我你有什么想法或者遇到什么问题。我们下期再见!

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

标签: