python实现学生信息管理系统源码

yizhihongxing

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技术站

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

相关文章

  • tkinter使用js的canvas实现渐变色

    使用Canvas实现渐变背景色 引言 Canvas是Web前端中常用的元素之一,它提供了一种绘制图形的方式。在不同的开发场景中,我们可以使用JavaScript的Canvas API来绘制一些复杂的图形和效果。在本文中,我们将向大家展示如何使用JavaScript的Canvas API来创建渐变背景色。 实现步骤 创建Canvas元素。 html<ca…

    python 2023年6月13日
    00
  • Python接口自动化测试框架运行原理及流程

    Python接口自动化测试框架运行原理及流程 自动化测试框架运行原理:自动化测试框架主要分为三个层次,分别是基础层、关键字层和逻辑层,其运行原理如下: 基础层:最底层的是基础层,它主要提供一些底层的API调用操作,例如HTTP请求、数据库操作等。 关键字层:在基础层的基础上,构建关键字层,即将常用的测试步骤封装成具有复用性的函数,其中每一个函数都代表着一个测…

    python 2023年5月19日
    00
  • Android使用美团多渠道打包方案详解

    Android使用美团多渠道打包方案详解 简介 在Android开发中,需要为不同渠道(例如应用宝、小米商店等)打不同的包,以适应不同的需求。但是这样做可能会造成开发过程和发布过程的混乱,因此需要一个可扩展的打包方案来解决这个问题。美团的多渠道打包方案就是这样一个解决方案。 方案概述 美团的多渠道打包方案基于gradle实现,可以通过gradle插件将一份代…

    python 2023年6月3日
    00
  • python列表数据增加和删除的具体实例

    以下是“Python列表数据增加和删除的具体实例”的完整攻略。 1. 列表数据增加 在Python中,可以使用append()方法将添加到列表中。示例如下: my_list = [1, 2, 3] my_list.append(4) print(my_list) 在面的示例代码中,我们首先定义了一个名为my_list列表,其中包含了三个元素。然后,使用app…

    python 2023年5月13日
    00
  • 详解Python AdaBoost算法的实现

    详解Python AdaBoost算法的实现 AdaBoost算法是一种常用的集成学习算法,它通过组合多个弱分类器来构建强分类器。在本文中,我们将介绍如何使用Python实现AdaBoost算法,并提供两个示例说明。 AdaBoost算法原理 AdaBoost算法的基本原理通过迭代训练多个弱分类器,并将它们组合成一个强分类器。在每一轮迭代中,AdaBoost…

    python 2023年5月14日
    00
  • python-字典dict和集合set

    下面我来为大家详细讲解一下Python中的字典(dict)和集合(set)。 字典(dict) 字典是一个无序的、可变的数据结构,用于存储键值对(key-value)。字典中的键必须是唯一的(在同一个字典中),而值则不需要。 创建字典 创建一个字典需要使用花括号{},将键值对用冒号:隔开。例如: dict = {"name": &quot…

    python 2023年5月13日
    00
  • Python 实现尾调用优化

    尾调用(Tail Call)是指函数调用发生在另一个函数的返回处,也就是说,一个函数A的最后一个操作是调用另一个函数B,而函数A的返回值恰好是调用函数B的返回值。尾调用优化(Tail Call Optimization)是指编译器或解释器等工具对尾调用进行的优化手段,使得函数调用带来的消耗更小或者消除掉。在Python中,默认情况下,不会进行尾调用优化。本文…

    python-answer 2023年3月25日
    00
  • 解读requests.session()获取Cookies全过程

    在Python中,可以使用requests库发送HTTP请求,并使用requests.session()获取Cookies。requests.session()方法返回一个Session对象,用于在多个请求之间保持会话状态。以下是详细讲解requests.session()获取Cookies全过程的攻略,包含两个例。 获取Cookies 在Python中,可…

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