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

yizhihongxing

下面我将详细讲解如何实现Python学生信息管理系统的代码。

准备工作

在开始编写代码之前,我们需要安装Python环境和相关的第三方库,包括flask、pymysql等。具体安装过程可以参考Python官方网站和各种教程。

数据库设计

在编写代码之前,我们需要先设计好数据库中的表结构。在本例中,我们将设计两张表:学生信息表和班级信息表。

学生信息表设计

字段名 数据类型 描述
id int 自增主键
name varchar 学生姓名
age int 学生年龄
gender varchar 学生性别
class_id int 所属班级ID

班级信息表设计

字段名 数据类型 描述
id int 自增主键
name varchar 班级名称
grade varchar 班级所在年级

编写代码

连接数据库

我们首先需要在Python中连接到数据库。在本例中,我们采用pymysql作为Python连接MySQL的库。在连接MySQL之前,我们需要获取MySQL数据库的连接信息,包括数据库名称、用户名、密码、主机名和端口号等,然后使用pymysql库中的连接方法连接到MySQL数据库。

import pymysql

db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='test')

创建表

连接到数据库之后,我们需要根据上面的表结构创建学生信息表和班级信息表。在创建表之前,我们需要定义好表结构,包括字段名、数据类型和约束条件等。

cursor = db.cursor()

# 创建学生信息表
create_student_table_sql = """
CREATE TABLE IF NOT EXISTS student (
      id INT AUTO_INCREMENT PRIMARY KEY,
      name VARCHAR(255) NOT NULL,
      age INT NOT NULL,
      gender VARCHAR(10) NOT NULL,
      class_id INT NOT NULL
);
"""
cursor.execute(create_student_table_sql)

# 创建班级信息表
create_class_table_sql = """
CREATE TABLE IF NOT EXISTS class (
      id INT AUTO_INCREMENT PRIMARY KEY,
      name VARCHAR(255) NOT NULL,
      grade VARCHAR(255) NOT NULL
);
"""
cursor.execute(create_class_table_sql)

插入数据

创建好表之后,我们需要往表中插入一些数据,在本例中,我们需要往班级信息表中插入一些数据。

# 插入班级信息
insert_class_sql = """
INSERT INTO class (name, grade) VALUES (%s, %s)
"""
params = [('class1', '202001'), ('class2', '202002'), ('class3', '202003')]
cursor.executemany(insert_class_sql, params)
db.commit()

查询数据

插入数据之后,我们可以使用SELECT语句查询数据。在本例中,我们将查询班级信息表中的所有数据。

# 查询班级信息
select_class_sql = """
SELECT * FROM class
"""
cursor.execute(select_class_sql)
class_info = cursor.fetchall()
print(class_info)

以上代码中,使用SELECT语句查询所有班级信息,并使用fetchall()方法获取所有查询结果。

更新数据

查询到数据之后,我们可以使用UPDATE语句更新数据。在本例中,我们将更新班级信息表中某个班级的信息。

# 更新班级信息
update_class_sql = """
UPDATE class SET name = %s WHERE id = %s
"""
params = ('class4', 1)
cursor.execute(update_class_sql, params)
db.commit()

删除数据

在需要删除数据时,可以使用DELETE语句。在本例中,我们将删除班级信息表中某个班级的信息。

# 删除班级信息
delete_class_sql = """
DELETE FROM class WHERE id = %s
"""
cursor.execute(delete_class_sql, 2)
db.commit()

示例说明

首先,我们将创建一个Python脚本,然后将上面的代码逐行复制到脚本中。然后我们使用命令行或者PyCharm等Python开发环境运行该脚本,可以看到输出结果为:

((1, 'class1', '202001'), (2, 'class2', '202002'), (3, 'class3', '202003'))

这是班级信息表中的所有数据,包括班级ID、班级名称和所在年级。

接着,我们将更新班级信息表中ID为1的班级名称,将其修改为'class4'。然后再查询班级信息表中的所有数据,可以看到输出结果为:

((1, 'class4', '202001'), (2, 'class2', '202002'), (3, 'class3', '202003'))

可以看到,更新后类1的班级名称已经被修改为了'class4'。

最后,我们将删除班级信息表中ID为2的班级信息,然后再次查询班级信息表中的所有数据,可以看到输出结果为:

((1, 'class4', '202001'), (3, 'class3', '202003'))

可以看到,ID为2的班级信息已经被删除了。

以上就是Python学生信息管理系统实现代码的完整攻略。

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

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

相关文章

  • python中list.copy方法用法详解

    以下是“python中list.copy方法用法详解”的完整攻略。 1. 什么是list.copy方法 list.copy()方法是Python中用于复制列表的。它返回一个新的列表,其中包含原始列表中的所有元素。与使用赋值算符(=)不同list.copy()方法了一个新的列表对象,而不是引用原始列表对象。 2. list.copy方法的用 list.copy…

    python 2023年5月13日
    00
  • python 中 os.walk() 函数详解

    当我们需要遍历某个目录及其子目录下的所有文件和目录时,可以使用 Python 的 os.walk() 函数。这个函数返回一个生成器,该生成器递归地遍历一个目录及其子目录中的所有文件和目录。下面是一个详细的攻略来讲解如何使用 os.walk() 函数。 函数定义 以下是 os.walk() 函数的定义: os.walk(top, topdown=True, o…

    python 2023年6月2日
    00
  • 如何使用draw.io插件在vscode中一体化导出高质量图片

    下面我将详细讲解如何使用draw.io插件在vscode中一体化导出高质量图片的完整攻略。 原理简介 draw.io是一个在线绘图工具,可以用于绘制各种流程图、思维导图、组织结构图等,而VS Code是一个十分强大的源代码编辑器,同时也具有插件机制,可以扩展它的功能,从而实现更多的工具。 在VS Code中,我们可以安装draw.io插件来实现对draw.i…

    python 2023年6月3日
    00
  • python多线程threading.Lock锁用法实例

    下面是详细讲解“python多线程threading.Lock锁用法实例”的完整攻略。 1. 什么是线程锁 多线程程序中,多个线程同时访问同一个共享变量时,可能导致数据错误或异常行为。线程锁可以解决这个问题,它确保了同时只有一个线程可以访问共享资源。 2. threading.Lock Python 标准库中提供了 threading 模块,其中有一个 Lo…

    python 2023年5月18日
    00
  • Python3中zip()函数知识点小结

    当然,这是我的荣幸。下面是关于Python3中zip()函数的知识点小结: 简介 zip()函数是Python的内置函数之一,用于将多个可迭代对象打包成一个元素对,然后返回一个可迭代的zip对象。 注意:Python2中也有zip()函数,但在Python3中,zip()函数的返回类型改变为zip对象,即不再返回列表,与map()函数一样。 语法 zip()…

    python 2023年5月14日
    00
  • 完美解决Python matplotlib绘图时汉字显示不正常的问题

    针对Python matplotlib绘图时汉字显示不正常的问题,完美解决方案如下。 问题背景 在Python matplotlib绘图时,如果要输出的图表中包含有中文字符,那么有可能会遇到中文字符显示异常的问题,例如显示乱码或者方框替代等。这是因为matplotlib默认的字体库中没有中文字体,因此需要做一些额外的设置才能正常显示中文字符。 解决方案 要解…

    python 2023年6月13日
    00
  • Python学习之字符串格式化

    Python学习之字符串格式化 1. 概述 在 Python 中,字符串是一个非常重要的数据类型。字符串格式化是一个非常常见的操作,而且在 Python 中这个功能是非常强大的。Python 的字符串格式化支持多种方式。 2. 字符串格式化方式 2.1 使用百分号格式化字符串 Python 的百分号格式化字符串是一种经典的格式化方式,该方式使用占位符来表示需…

    python 2023年6月5日
    00
  • python下载卫星云图合成gif的方法示例

    下面是 Python 下载卫星云图合成 GIF 的方法示例完整攻略: 一、准备工作 1. 安装必要的库 首先,我们需要安装一些必要的库,其中包括: requests:用于获取卫星云图的数据 pillow:用于处理图片 imageio:用于生成 GIF 你可以在命令行中使用以下指令进行安装: pip install requests pillow imagei…

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