下面我将详细讲解如何实现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技术站