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

完整攻略:基于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. 数据集的准备 首先,我们需要准备分类数据集。在这个示例中,我们使用鸢尾花数据集(iris)来进行分类。 使用scikit-learn库中的load_iris方法加载…

    python 2023年5月14日
    00
  • python标准库 datetime的astimezone设置时区遇到的坑及解决

    让我详细讲解一下使用 Python 标准库 datetime 的 astimezone() 方法设置时区时可能遇到的一些问题以及解决方法。 什么是 datetime 和时区? Python 标准库 datetime 是 Python 中一个内置的模块,它提供了一些用于处理日期和时间的类和方法。其中,datetime 类是最核心的日期和时间类,它用于表示具体的…

    python 2023年6月2日
    00
  • Python处理时间戳和时间计算等的脚本分享

    Python处理时间戳和时间计算等的脚本分享 什么是时间戳? 时间戳是指一个时间点,通常使用单位为秒的形式表示。时间戳可以通过获取自1970年1月1日00:00:00以来的秒数来表示一个时间点。例如,如果今天是2022年1月1日12:00:00,那么它的时间戳就是1641043200。 在Python中,可以使用time模块来获取当前时间的时间戳。 以下是获…

    python 2023年6月2日
    00
  • 进行数据处理的6个 Python 代码块分享

    我来为你详细讲解“进行数据处理的6个 Python 代码块分享”的完整攻略。 1. 去重复 去重复通常用于数据清洗中。在 Python 中,可以用 set() 函数实现去重复的功能,具体操作如下: # 定义一个有重复元素的列表 my_list = [1, 2, 3, 2, 4, 5, 3, 1] # 使用 set() 函数去重 my_set = set(my…

    python 2023年5月19日
    00
  • 使用LRU加速python应用

    操作系统 :CentOS 7.6.1810_x64 Python 版本 : 3.9.12 一、背景描述 使用python开发过程中,会遇到需要使用缓存加速应用的情况,比如下面这些场景: 数据转换加速 字符串时间转换成int时间戳; 字符串时间转换成datetime类型; … 数据解析加速 bytes数据转换为int(数据包解析场景的端口、序列号等); b…

    2023年4月8日
    00
  • 使用Python操作excel文件的实例代码

    我为你提供一份完整的使用Python操作Excel文件的实例代码教程。 环境准备 在操作Excel文件前需要安装Python第三方库openpyxl,使用pip命令安装即可。 pip install openpyxl 打开Excel文件 打开本地的Excel文件并读取其中的数据内容。 import openpyxl # 打开文件 workbook = ope…

    python 2023年5月13日
    00
  • Python写安全小工具之TCP全连接端口扫描器

    TCP全连接端口扫描器是一种利用TCP协议进行端口扫描的工具,通过模拟TCP连接,对目标主机的所有端口进行扫描,并分析响应数据,从而确定目标主机开放了哪些端口。 本文将详细介绍如何使用Python编写TCP全连接端口扫描器。 确定目标主机 首先,需要确定目标主机的IP地址或域名。可以使用Python中的socket模块中的gethostbyname函数将域名…

    python 2023年6月6日
    00
  • Python标准库之time库的使用教程详解

    Python标准库之time库的使用教程详解 简介 time库是Python标准库中处理时间的模块。它包含了很多时间相关的函数,比如获取当前时间、将时间转换为字符串、线程休眠等。在实际开发过程中,我们经常会需要对时间进行操作,这时time库就是我们的好帮手了。 获取当前时间 我们可以使用time.time()函数获取当前时间戳,即从1970年1月1日起至今的…

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