完整攻略:基于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技术站