基于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多线程中Lock()与RLock()锁详解

    题目:对Python多线程中 Lock() 与 RLock() 锁详解的攻略 1. 简介 在Python中,多线程编程时可能会造成线程之间的互斥问题,为了解决这个问题,Python内置了两种锁机制:Lock() 和 RLock()锁。这两种锁机制的功能类似,但是在使用场景和处理细节上略有不同。接下来我将分别介绍它们的详细用法。 2. Lock() 锁 2.1…

    python 2023年5月18日
    00
  • Python检测生僻字的实现方法

    下面我将为你详细讲解“Python检测生僻字的实现方法”的完整攻略。 1. 确定生僻字 首先我们需要明确需要检测的生僻字集合。可以通过以下渠道获取: 使用已有的生僻字库; 自行根据实际情况手动确定。 2. 获取文本 获取需要检测生僻字的文本。可以从以下途径获得: 从本地文本文件中读取; 从网站上抓取。 3. 实现方法 具体实现方法如下: 步骤一:读取生僻字列…

    python 2023年5月20日
    00
  • Python二进制串转换为通用字符串的方法

    Python中将二进制串转换为通用字符串有以下两种方法: 1. 使用 Python 自带 codecs 模块中的解码功能 在 Python 中,我们可以使用内置的codecs模块将二进制串转换为通用字符串。其使用方法如下: import codecs binary_str = b’00110010 00110000 00110030 00110031′ un…

    python 2023年6月5日
    00
  • 如何利用python和DOS获取wifi密码

    如何利用python和DOS获取wifi密码 如果你忘记了自己的Wi-Fi密码或是想要查看其他人的Wi-Fi密码,你可以使用一些工具和技巧来获取它们。在这里,我们介绍一种利用Python和DOS的方法来获取Wi-Fi密码的攻略。 步骤一:准备工作 在进行下一步操作之前,你需要进行如下准备工作: 确保你的计算机已经连接到Wi-Fi网络。 下载Python:ht…

    python 2023年6月3日
    00
  • 利用python如何处理nc数据详解

    使用Python处理nc数据是数据科学中的重要领域,操作非常方便且适用于各行业。下面我们来详细讲解如何利用Python处理nc数据的完整攻略。 1. 安装依赖 首先,我们需要安装几个Python的依赖: numpy: 用于处理数组 netCDF4: 用于读写nc数据 matplotlib: 用于可视化处理结果 basemap: 用于地图绘制 可以使用pip工…

    python 2023年6月3日
    00
  • Python中常见的导入方式总结

    在Python中,我们可以使用多种方式来导入模块或包。本攻略将总结Python中常见的导入方式,并提供两个示例。 1. import语句 使用import语句可以导入一个模块或包。语法如下: import module_name 以下是一个示例代码,演示如何使用import语句导入模块: import math print(math.pi) 在上面的代码中,…

    python 2023年5月15日
    00
  • python批量处理PDF文档输出自定义关键词的出现次数

    首先,我们需要用到以下Python库和工具:- PyPDF2:一个用于处理PDF文件的Python库。- re:一个用于正则表达式匹配的Python库。- argparse:一个用于解析命令行参数的Python库。- pandas:一个用于数据处理和分析的Python库。 以下是大致步骤:1. 创建一个Python脚本,引入所需的Python库。2. 使用a…

    python 2023年6月3日
    00
  • django如何计算两个TimeField的时差

    计算两个TimeField的时差,可以通过django内置的时间计算模块datetime以及timedelta实现。下面是具体步骤: 从django.utils中导入datetime模块。 from django.utils import datetime 定义两个TimeField类型的时间变量time1和time2,注意这个时间类型必须是24小时制。 t…

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