python实现学生信息管理系统

yizhihongxing

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 制作自动化翻译工具攻略 介绍 自动化翻译工具是一种可以将一种语言的文字自动转化为另一种语言的文字的应用程序。在这个攻略中,我们将会使用Python语言,通过调用谷歌翻译API,创建一个简单的自动化翻译工具,它可以将一些简单的英文文字翻译成其他语言。 前置条件 在开始之前,我们需要准备以下工具和环境: Python 3 Anaconda 谷歌翻译…

    python 2023年5月19日
    00
  • 详解KMP算法以及python如何实现

    详解KMP算法以及Python如何实现 KMP算法是一种字符串匹配算法,它的全称是Knuth-Morris-Pratt算法,是由Donald Knuth、Vaughan Pratt和James H. Morris位计算科学家于1977年联合发明的。KMP算法的主要思想是利用已知信息来避免无效的字符比较从而提高字符串匹配的效率。本文将详细讲解KMP算法的原理实…

    python 2023年5月13日
    00
  • Python+selenium 获取一组元素属性值的实例

    下面是 Python+selenium 获取一组元素属性值的实例的完整攻略: 1. 使用 selenium 安装和配置 安装 selenium 在终端输入以下命令安装 selenium: pip install selenium 下载 webdriver 在使用 selenium 前需要下载 webdriver,这是因为 selenium 是通过 webdr…

    python 2023年6月3日
    00
  • Python的优点和缺点

    Python作为一种面向对象的、跨平台、开源的解释型编程语言,之所以流行,与以下几个原因是分不开的: Python简单易用,干净优雅,学习成本低; 拥有众多开源的第三方库,功能强大。从小工具到企业级的大型应用,都可以开发。 Python站在了大数据和人工智能的风口上,未来的发展不可估量。 虽然如此,但Python这门语言并非是完美无缺的。本文就汇总一下Pyt…

    2022年10月27日
    00
  • 在NumPy数组的末尾添加数值

    在NumPy中,我们可以通过调用numpy.append()方法将数值添加到数组的末尾。这个方法的基本语法如下: numpy.append(arr, values, axis=None) 其中,arr表示目标数组,values表示要添加的数值或数组,axis表示添加数值的轴(可选,默认为 None,表示在数组被展开的情况下添加数值)。 下面我们通过两个示例来…

    python-answer 2023年3月25日
    00
  • Python中数字(Number)数据类型常用操作

    以下是Python中数字(Number)数据类型常用操作的完整攻略。 数字(Number)数据类型 数字(Number)数据类型是Python中基本的数据类型之一,用于表示数值。 Python3中支持三种数值类型: 整数(int) 浮点数(float) 复数(complex) 其中,整数和浮点数的使用频率最高。 整数(int) 整数可以是正数、负数以及0,不…

    python 2023年6月3日
    00
  • 三行Python代码提高数据处理脚本速度

    好的。首先,可以使用Python内置的timeit模块来测试代码的执行速度,以便比较不同算法或优化方法的效果。一般来说,提高代码性能的方法可以大致分为以下三类: 使用更高效的算法或数据结构; 使用更好的编程技巧和语法; 使用更快的底层库或模块。 下面,我们来详细讲解如何使用三行Python代码提高数据处理脚本速度: 使用更高效的算法或数据结构 在Python…

    python 2023年6月3日
    00
  • 解决python xlrd无法读取excel文件的问题

    下面是一份详细讲解如何解决python xlrd无法读取excel文件的问题的实例教程。教程中会涉及到安装xlrd库、Python的基本语法、对Excel文件进行读取等方面。 原因分析 在这份教程中,我们假设在读取Excel文件时,程序反复给出“ModuleNotFoundError: No module named ‘xlrd’”的错误提示。 经过简单检查…

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