Python学生管理系统(MySQL)

ops/2024/12/29 6:31:26/

上篇文章介绍的Python学生管理系统GUI有不少同学觉得不错来找博主要源码,也有同学提到老师要增加数据库管理数据的功能,本篇文章就来介绍下python操作数据库,同时也对上次分享的学生管理系统进行了改进了,增加了数据库,没学过MySQL数据库的同学也可以根据这篇文章或者系统代码进行学习,了解完觉得不错的同学可以关注我的gong重号【橙晴丰Ciao】回复关键字【python学生管理系统】获取源码:

学生管理

展示

在这里插入图片描述

增加

在这里插入图片描述
在这里插入图片描述

修改

选择需要修改的学生信息就可以更改了
在这里插入图片描述

删除

在这里插入图片描述

本项目是由python+tkinter+MySQL实现的,所以需要先安装有python环境,tkinter 是 Python 的标准 GUI (图形用户界面) 库,不需要进行安装,只需要在终端执行命令安装MySQL驱动,或者pycharm自动导入,但不要导错包了:

pip install mysql-connector-python

下面我会简要讲解 python操作MySQL的一些常用功能等。

MySQL讲解

1. 连接到 MySQL 数据库

python">import mysql.connector# 建立数据库连接
conn = mysql.connector.connect(host="localhost",         # 数据库主机user="root",              # 数据库用户名password="your_password", # 数据库密码database="your_database"  # 数据库名
)# 创建一个游标对象
cursor = conn.cursor()# 进行操作...# 关闭连接
cursor.close()
conn.close()

一旦建立了连接,你可以使用游标(cursor)来执行 SQL 查询。例如,查询数据、插入数据、更新数据等。

2. 查询数据

python"># 执行 SQL 查询
cursor.execute("SELECT * FROM your_table")# 获取查询结果
results = cursor.fetchall()# 输出结果
for row in results:print(row)

3. 插入数据

python"># 准备 SQL 插入语句
sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
values = ("value1", "value2")# 执行插入操作
cursor.execute(sql, values)# 提交事务
conn.commit()

插入多条数据

python">sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
values = [("Alice", 30), ("Bob", 25), ("Charlie", 35)]cursor.executemany(sql, values)
conn.commit()  # 提交事务

4. 更新数据

python"># 准备 SQL 更新语句
sql = "UPDATE your_table SET column1 = %s WHERE column2 = %s"
# 更新参数类型可以是元组或列表
values = ("new_value", "some_value")# 执行更新操作
cursor.execute(sql, values)# 提交事务
conn.commit()

5. 删除数据

python"># 准备 SQL 删除语句
sql = "DELETE FROM your_table WHERE column1 = %s"
value = ("some_value",)# 执行删除操作
cursor.execute(sql, value)# 提交事务
conn.commit()

6. 事务管理

对于修改数据库(如插入、更新、删除)等操作,通常需要提交事务。commit() 方法用于提交事务,rollback() 用于回滚事务。

例如:

python">try:cursor.execute("INSERT INTO your_table (column1) VALUES (%s)", ("value1",))conn.commit()  # 提交事务
except mysql.connector.Error as err:print("Error: ", err)conn.rollback()  # 发生错误时回滚事务

7. 关闭连接

在完成操作后,一定要关闭游标和数据库连接,以释放资源,通过finally执行关闭操作

python">import mysql.connector
from mysql.connector import Errortry:# 连接到数据库conn = mysql.connector.connect(host="localhost",user="root",password="your_password",database="your_database")if conn.is_connected():print("Connected to MySQL database")# 创建一个游标对象cursor = conn.cursor()# 执行一个查询cursor.execute("SELECT * FROM your_table")result = cursor.fetchall()for row in result:print(row)except Error as e:print("Error: ", e)finally:if conn.is_connected():cursor.close()conn.close()print("Connection closed")

8. 创建数据库及表

python"># 创建数据库
cursor.execute("CREATE DATABASE IF NOT EXISTS my_database")# 选择数据库
cursor.execute("USE my_database")# 创建表
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,age INT NOT NULL
)
""")

http://www.ppmy.cn/ops/145852.html

相关文章

YunSDR通信小课堂-27

第11讲 802.11a OFDM基带接收端载波频率同步算法设计与验证 OFDM技术是同时在多个重叠子信道上传输信号的,为了正确接收,必须严格保证子载波之间的正交性,但是由于多普勒频移和收发晶振的不完全相同,往往存在一定的载波频率偏差&…

异步线程池中,ThreadPoolTaskExecutor和ThreadPoolExecutor有什么区别?

异步线程池中,org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor和java.util.concurrent.ThreadPoolExecutor有什么区别? org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor 和 java.util.concurrent.ThreadPoolExec…

119.【C语言】数据结构之快速排序(调用库函数)

目录 1.C语言快速排序的库函数 1.使用qsort函数前先包含头文件 2.qsort的四个参数 3.qsort函数使用 对int类型的数据排序 运行结果 对char类型的数据排序 运行结果 对浮点型数据排序 运行结果 2.题外话:函数名的本质 1.C语言快速排序的库函数 cplusplus网的介绍 ht…

程序环境和预处理

程序环境和预处理 1.程序环境1.1如何从test.c到test.exe1.2.翻译环境1.2.1翻译过程1.2.2详细过程 1.3.运行环境 2.预处理2.1 预定义符号2.2 define2.2.1 define定义标识符2.2.2 define定义宏2.2.3 带副作用的宏参数2.2.4 宏和函数的对比 2.3 #undef2.4 命令行定义2.5 条件编译2…

安全筑堤,效率破浪 | 统一运维管理平台下的免密登录应用解析

在信息技术迅猛发展的今天,企业运维管理领域正面临着前所未有的复杂挑战。统一运维管理平台作为集中管理和监控IT基础设施的核心工具,其安全性和效率至关重要。免密登录作为一种新兴的身份验证技术,正逐渐成为提升运维管理效率和安全性的重要…

不同操作系统下安装Node.js及配置环境的详细步骤

以下是在不同操作系统下安装Node.js及配置环境的详细步骤: 一、Windows系统 下载Node.js安装包 访问Node.js官方网站(https://nodejs.org/)。在网站上可以看到有两个版本可供下载:LTS(长期支持版)和Curren…

git自动压缩提交的脚本

可以将当前未提交的代码自动执行 git addgit commitgit squash Git 命令安装指南 1. 创建脚本目录 如果目录不存在,创建它: mkdir -p ~/.local/bin2. 创建脚本文件 vim ~/.local/bin/git-squash将完整的脚本代码复制到此文件中。 3. 设置脚本权限…

无人机图传模块原理及作用

在当今科技飞速发展的时代,无人机已经成为了各个领域的热门工具,从航拍爱好者的创意拍摄到专业的农业植保、测绘勘察等工作,无人机都发挥着重要作用。而在无人机众多的组成部分中,图传模块无疑是极为关键的一个,它让无…