python实现学生信息管理系统

Python实现学生信息管理系统

简介

学生信息管理系统可以统计、查询、修改、删除学生信息,为学校管理提供便利。本文将介绍如何使用Python实现学生信息管理系统。

功能

  1. 添加学生信息
  2. 查询学生信息
  3. 修改学生信息
  4. 删除学生信息

环境搭建

  1. 安装Python3
  2. 安装pymysql
pip install pymysql

数据库设计

学生信息表:student

字段名 类型 说明
id INT(10) 主键,学生ID
name VARCHAR(20) 学生姓名
age TINYINT(3) 学生年龄
gender ENUM('男','女') 学生性别
grade VARCHAR(10) 学生年级
tel VARCHAR(20) 学生电话
address VARCHAR(100) 学生家庭住址
notes VARCHAR(100) 学生额外的备注信息

数据库连接

import pymysql

class Database:
    def __init__(self):
        self.db = pymysql.connect(host='localhost',
                                  user='root',
                                  password='123456',
                                  db='exampledb',
                                  charset='utf8mb4',
                                  cursorclass=pymysql.cursors.DictCursor)
        self.cursor = self.db.cursor()

    def __del__(self):
        self.db.close()

添加学生信息

def add_student(db, name, age, gender, grade, tel, address, notes=''):
    sql = "INSERT INTO student (name, age, gender, grade, tel, address, notes) VALUES ('%s', %d, '%s', '%s', '%s', '%s', '%s')" % (name, age, gender, grade, tel, address, notes)
    try:
        db.cursor.execute(sql)
        db.db.commit()
        print("添加成功!")
    except Exception as e:
        db.db.rollback()
        print("添加失败:", e)

示例:

if __name__ == '__main__':
    db = Database()
    add_student(db, '张三', 18, '男', '大一', '15764567890', '北京市朝阳区')

查询学生信息

def search_student(db, field, value):
    sql = "SELECT * FROM student WHERE %s = '%s'" % (field, value)
    db.cursor.execute(sql)
    results = db.cursor.fetchall()
    for row in results:
        print("ID:%d\t 姓名:%s\t 年龄:%d\t 性别:%s\t 年级:%s\t 电话:%s\t 家庭住址:%s\t 备注:%s" % 
              (row['id'], row['name'], row['age'], row['gender'], row['grade'], row['tel'], row['address'], row['notes']))

示例:

if __name__ == '__main__':
    db = Database()
    search_student(db, 'grade', '大一')

修改学生信息

def update_student(db, id, field, value):
    sql = "UPDATE student SET %s = '%s' WHERE id = %d" % (field, value, id)
    try:
        db.cursor.execute(sql)
        db.db.commit()
        print("修改成功!")
    except Exception as e:
        db.db.rollback()
        print("修改失败:", e)

示例:

if __name__ == '__main__':
    db = Database()
    update_student(db, 1, 'address', '北京市海淀区')

删除学生信息

def delete_student(db, id):
    sql = "DELETE FROM student WHERE id = %d" % id
    try:
        db.cursor.execute(sql)
        db.db.commit()
        print('删除成功!')
    except Exception as e:
        db.db.rollback()
        print("删除失败:", e)

示例:

if __name__ == '__main__':
    db = Database()
    delete_student(db, 1)

总结

本文详细介绍了如何使用Python实现学生信息管理系统,通过连接数据库插入、查询、修改、删除学生信息数据。同时,学习了如何使用pymysql实现Python链接数据库。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现学生信息管理系统 - Python技术站

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

相关文章

  • Python 中打印字典中的所有键值对的示例详解

    Python 中打印字典中的所有键值对,可以用以下代码实现: my_dict = {‘apple’: 2, ‘banana’: 3, ‘orange’: 4} for key, value in my_dict.items(): print(key, value) 运行代码后,会输出以下结果: apple 2 banana 3 orange 4 上述代码中,…

    python 2023年6月5日
    00
  • Python正则表达式分组概念与用法详解

    在Python中,正则表达式分组是一种将正则表达式中的一部分括号起来,形成一个组的方法。分组可以使正则表达式更灵活,可以对分组进行重复、替换等操作。本攻略将详细讲解Python中正则表达式分组的概念与用法。 分组的基本用法 在Python中,使用圆括号()来表示分组。下面是一个例子,演示如何使用分组进行匹配: import re text = ‘John 2…

    python 2023年5月14日
    00
  • Python创建日历实例

    Python中创建日历实例的过程非常简单。Python内置的 calendar 模块提供了许多函数,可用于操作日历。以下是完整攻略。 导入模块 Python内置的 calendar 模块包含了日历操作的各种函数和类。因此,我们需要导入该模块。 import calendar 打印指定年份的日历 我们可以使用模块中的 calendar.calendar(yea…

    python 2023年5月20日
    00
  • python实现登录与注册系统

    下面我将详细讲解一下“Python实现登录与注册系统”的攻略,包括以下几个步骤: 安装所需的库 创建数据库 用户注册 用户登录 安装所需的库 在开始实现登录和注册系统之前,首先需要安装所需的库:flask和flask_sqlalchemy。 pip install flask pip install flask_sqlalchemy 创建数据库 为了存储用户…

    python 2023年5月30日
    00
  • Python处理json字符串转化为字典的简单实现

    当我们从网页、API接口或其他来源获取到一个JSON格式的字符串时,如果需要对数据进行处理,常常需要将其转化为Python可处理的字典格式。下面是一种Python处理JSON字符串转化为字典的简单实现方法。 1. 导入json模块 在Python中,可以通过导入json模块来实现JSON字符串到Python字典的转化。首先需要使用import语句导入json…

    python 2023年5月13日
    00
  • PyHacker编写URL批量采集器

    标准的markdown格式文本如下: PyHacker编写URL批量采集器 1. 准备工作 安装python3 安装PyCharm或其他编辑器 安装requests模块,可在命令行中使用以下命令进行安装 pip install requests 2. 编写代码 在PyCharm中新建一个Python文件,命名为”crawler.py”,输入以下代码: imp…

    python 2023年6月3日
    00
  • Python中的FTP通信模块ftplib的用法整理

    Python中的FTP通信模块ftplib的用法整理 什么是ftplib? ftplib是Python中的一个标准库,用于实现FTP协议的客户端。ftplib封装了FTP命令,使得Python程序能够方便地与FTP服务器进行通信。 ftplib的基本使用 用Python程序连接FTP服务器的步骤如下: 使用import ftplib导入ftplib模块 使用…

    python 2023年6月3日
    00
  • python 2中的file()不能被python 3中的open()替换为pdfminer

    【问题标题】:file() in python 2 cannot be replaced with open() in python 3 for pdfminerpython 2中的file()不能被python 3中的open()替换为pdfminer 【发布时间】:2023-04-03 23:56:01 【问题描述】: 我正在尝试在路径中获取我所有 pd…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部