Python实现学生信息管理系统是一个非常常见的项目,本文将介绍如何实现这一系统,并提供完整的源码和示例。
1. 功能介绍
该学生信息管理系统具备以下功能:
- 添加学生信息
- 删除学生信息
- 修改学生信息
- 查询学生信息
- 显示所有学生信息
2. 实现步骤
2.1. 创建数据库
本示例我们使用sqlite3实现存储,因此需要先创建一个数据库文件,执行以下代码:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 创建student表
c.execute('''
CREATE TABLE student
(id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL,
gender TEXT NOT NULL,
score INTEGER NOT NULL)
''')
conn.commit()
conn.close()
以上代码将创建一个student表,该表包含5个字段:id、name、age、gender和score。
2.2. 添加学生信息
要想添加一个新学生的信息,我们需要向student表中插入一条记录,代码如下:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 插入记录
c.execute("INSERT INTO student (name, age, gender, score) VALUES ('张三', 18, '男', 90)")
conn.commit()
conn.close()
以上代码将插入一条记录,包含4个字段:name、age、gender和score。
2.3. 删除学生信息
要删除学生信息,我们需要先确定要删除的学生的id,然后执行以下代码:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 删除记录
c.execute("DELETE FROM student WHERE id=?", (1,))
conn.commit()
conn.close()
以上代码将删除id为1的学生记录。
2.4. 修改学生信息
要修改学生信息,我们需要先确定要修改的学生的id,然后执行以下代码:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 修改记录
c.execute("UPDATE student SET score=? WHERE id=?", (80, 2))
conn.commit()
conn.close()
以上代码将修改id为2的学生的score为80。
2.5. 查询学生信息
要查询某个学生的信息,我们需要先确定要查询的学生的id,然后执行以下代码:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 查询记录
c.execute("SELECT * FROM student WHERE id=?", (2,))
results = c.fetchall()
for r in results:
print(r)
conn.close()
以上代码将查询id为2的学生的所有信息,并输出到控制台。
2.6. 显示所有学生信息
要显示所有学生的信息,我们需要执行以下代码:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 显示所有记录
c.execute("SELECT * FROM student")
results = c.fetchall()
for r in results:
print(r)
conn.close()
以上代码将查询所有学生的信息,并输出到控制台。
3. 完整源码
以下是完整的源码:
import sqlite3
# 创建数据库
conn = sqlite3.connect('student.db')
c = conn.cursor()
c.execute('''
CREATE TABLE student
(id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL,
gender TEXT NOT NULL,
score INTEGER NOT NULL)
''')
# 插入记录
c.execute("INSERT INTO student (name, age, gender, score) VALUES ('张三', 18, '男', 90)")
# 删除记录
c.execute("DELETE FROM student WHERE id=?", (1,))
# 修改记录
c.execute("UPDATE student SET score=? WHERE id=?", (80, 2))
# 查询记录
c.execute("SELECT * FROM student WHERE id=?", (2,))
results = c.fetchall()
for r in results:
print(r)
# 显示所有记录
c.execute("SELECT * FROM student")
results = c.fetchall()
for r in results:
print(r)
conn.commit()
conn.close()
4. 示例说明
以下示例说明如何实现向student表中插入多条记录:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 插入多条记录
students = [('李四', 19, '男', 92), ('王五', 20, '女', 88), ('小明', 17, '男', 78)]
c.executemany("INSERT INTO student (name, age, gender, score) VALUES (?, ?, ?, ?)", students)
conn.commit()
conn.close()
以上代码将插入3条记录,分别为:李四(19岁,男性,成绩92分)、王五(20岁,女性,成绩88分)和小明(17岁,男性,成绩78分)。
以下示例说明如何将所有学生的成绩加10分:
import sqlite3
conn = sqlite3.connect('student.db')
c = conn.cursor()
# 修改所有学生记录
c.execute("UPDATE student SET score=score+10")
# 显示所有记录
c.execute("SELECT * FROM student")
results = c.fetchall()
for r in results:
print(r)
conn.commit()
conn.close()
以上代码将将所有学生的成绩都加10分,并输出所有学生的信息到控制台。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现学生信息管理系统源码 - Python技术站