基于Python实现简单学生管理系统

yizhihongxing

完整攻略:基于Python实现简单学生管理系统

一、需求分析

本学生管理系统需要实现以下功能:

1.增加学生信息:输入学生姓名、学号、性别、年龄,将这些信息存入数据库。

2.查询学生信息:根据姓名、学号、年龄等关键字,在数据库中查询符合条件的学生信息,将结果返回。

3.修改学生信息:根据学号或姓名查询到学生信息,进行信息修改操作,将修改后的结果更新到数据库中。

4.删除学生信息:根据学号或姓名查询到学生信息,进行删除操作,将删除后的结果更新到数据库中。

二、设计数据库

在设计学生管理系统的数据库之前,需要先确定数据库表需要存储哪些信息。对于本系统来说,每个学生的信息包括学号、姓名、性别、年龄。

因此,本系统的数据库需要有一个学生表students,表中需要包含以下字段:

CREATE TABLE students (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    gender CHAR(1) NOT NULL,
    age INTEGER NOT NULL
);

三、编写Python代码

在完成数据库的设计后,需要编写Python代码,将学生的增、删、改、查操作与数据库进行交互。

以下是代码示例:

1. 增加学生信息

import sqlite3

def add_student(name, gender, age):
    conn = sqlite3.connect('students.db')
    cursor = conn.cursor()

    sql = "INSERT INTO students (name, gender, age) VALUES (?, ?, ?)"
    cursor.execute(sql, (name, gender, age))

    conn.commit()
    cursor.close()
    conn.close()

2. 查询学生信息

import sqlite3

def search_students(name=None, gender=None, age=None):
    conn = sqlite3.connect('students.db')
    cursor = conn.cursor()

    sql = "SELECT id, name, gender, age FROM students WHERE 1 = 1"
    if name:
        sql += " AND name LIKE '%{}%'".format(name)
    if gender:
        sql += " AND gender = '{}'".format(gender)
    if age:
        sql += " AND age = {}".format(age)
    cursor.execute(sql)

    result = cursor.fetchall()
    cursor.close()
    conn.close()

    return result

3. 修改学生信息

import sqlite3

def update_student(id, name, gender, age):
    conn = sqlite3.connect('students.db')
    cursor = conn.cursor()

    sql = "UPDATE students SET name = ?, gender = ?, age = ? WHERE id = ?"
    cursor.execute(sql, (name, gender, age, id))

    conn.commit()
    cursor.close()
    conn.close()

4. 删除学生信息

import sqlite3

def delete_student(id):
    conn = sqlite3.connect('students.db')
    cursor = conn.cursor()

    sql = "DELETE FROM students WHERE id = ?"
    cursor.execute(sql, (id,))

    conn.commit()
    cursor.close()
    conn.close()

四、测试运行

在完成Python代码编写后,就可以对代码进行测试运行了。可以在命令行中执行以下命令来测试:

$ python3
>>> from students import *
>>> add_student('张三', '男', 20)
>>> search_students(name='张')
[(1, '张三', '男', 20)]
>>> update_student(1, '李四', '女', 18)
>>> search_students(name='李')
[(1, '李四', '女', 18)]
>>> delete_student(1)
>>> search_students(name='李')
[]

上述命令将分别执行添加张三、查询张三、将张三修改为李四、查询李四和删除李四等操作。通过测试运行可以验证程序的正确性。

五、总结

本文主要介绍了基于Python实现简单学生管理系统的完整攻略,包括需求分析、数据库设计、Python代码编写和测试运行。通过对上述内容的学习,我们可以了解学生管理系统的设计和开发流程,对Python语言和SQLite数据库进行深入了解,并学会如何运用Python和SQLite进行学生管理系统的开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于Python实现简单学生管理系统 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python实现超市进销存管理系统

    Python实现超市进销存管理系统攻略 1. 系统设计 超市进销存管理系统主要包含以下几个模块: 商品管理 进货管理 销售管理 库存管理 报表统计 其中,商品管理模块主要负责商品的添加、修改、删除和查询;进货管理模块主要负责进货单的添加、查询以及进货单与商品库存的更新;销售管理模块主要负责销售单的添加、查询以及销售单与商品库存的更新;库存管理模块主要负责商品…

    python 2023年5月30日
    00
  • python实现html转ubb代码(html2ubb)

    Python实现HTML转UBB代码(html2ubb)的完整攻略 在本文中,我们将介绍如何使用Python实现HTML转UBB代码(html2ubb)的完整攻略。我们将提供两个示例,以帮助读者更好地理解如何实现这个目标。 步骤1:安装必要的库 在使用Python实现HTML转UBB代码之前,我们需要安装必要的库。我们将使用以下库: html2bbcode:…

    python 2023年5月15日
    00
  • 怎样使用Python脚本日志功能

    当我们使用Python编写程序时,希望能够记录程序的运行状态以供调试、优化和错误追踪。为此,Python内置了日志模块,通过使用日志模块可以简化开发人员编写日志记录代码的过程。 以下是使用Python脚本日志功能的完整攻略: 步骤1:引入日志模块 在Python脚本中使用日志功能时,首先需要在脚本中引入日志模块。Python的标准库中自带有logging模块…

    python 2023年6月3日
    00
  • 腾讯出品小程序自动化测试框架【Minium】系列(七)测试框架的设计和开发

    前言 整个框架的开发及调通是在3月27日晚上22点完成,如下: 这篇文章真的是拖了太久了,久到我居然把代码部分完成后,彻底给忘了,这记性,真的是年纪大了! 框架的设计开发 1、框架搭建设计要素 日志&测试步骤 报告&失败截图 配置文件&数据源设计 公共函数&API封装 测试数据&参数化、解耦 测试套件&测试用例…

    python 2023年4月18日
    00
  • 详解Python中的多线程编程

    详解Python中的多线程编程 在Python中,多线程编程是一种常见的技术,它可以帮助我们更好地利用计算机的多核能力提高程序的效率和性能。本文将为您提供详解Python中的多线程编程的完整攻略,包括如何创建线程、如何启动和停止线程、如何使用锁和条件变量等。 创建线程 在Python中,我们可以使用threading模块来创建线程。以下是一个示例,说明如何创…

    python 2023年5月14日
    00
  • python append、extend与insert的区别

    Python中的列表(list)是一种可变(mutable)的数据类型,可以在其中动态地添加、删除和修改元素。在处理列表元素时,我们常常需要涉及到添加操作,其中比较常用的方法包括append、extend和insert。这三种方法的主要区别如下: 1. append方法 在Python中,append()是列表对象提供的方法之一,用于在列表的末尾添加一个元素…

    python 2023年5月14日
    00
  • 如何使用Python在MySQL中使用视图?

    当使用Python与MySQL交互时,可以使用视图来简化复杂的查询。视图是一种虚拟表,它是基于一个或多个表的查询结果。以下是使用在MySQL中使用视图的整略,包括创建视图、使用视图和删除视图等步骤同时,还提供了两个示例来演示如何在Python中使用MySQL视图。 创建视图 在Python中使用MySQL视图之前,需要先在MySQL中创建视图。可以使用以下代…

    python 2023年5月12日
    00
  • 浅谈如何测试Python代码

    浅谈如何测试Python代码 在Python开发中,测试是一个非常重要的环节。通过测试,我们可以验证代码的正确性,提高代码的质量和可维护性。本文将介绍如何测试Python代码,包括元测试、集成和端到端测试。 单元测试 单元测试是指对程序中的最小可测试单元进行检查和验证。Python中,我们可以使用unittest模块编写单元测试。下面是一个示例: impor…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部