Python学生管理系统(MySQL)

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

学生管理

展示

增加


修改

选择需要修改的学生信息就可以更改了

删除

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

sh 复制代码
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 Error

try:
    # 连接到数据库
    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
)
""")
相关推荐
phper86 分钟前
Python项目在 Cursor 编辑器中 Conda 环境配置问题
python·conda·cursor
阿_旭13 分钟前
基于YOLO11深度学习的运动品牌LOGO检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·毕业设计·logo检测
SomeB1oody14 分钟前
【Python机器学习】1.9. 逻辑回归实战(进阶):建立二阶边界模型
人工智能·python·机器学习·ai·逻辑回归
go546315846520 分钟前
简单的 Python 示例,用于生成电影解说视频的第一人称独白解说文案
开发语言·python
YueiL23 分钟前
OpenCV 颜色空间:原理与操作指南
python·opencv
QING61824 分钟前
Android_BLE 基于Jetpack Bluetooth实现文件传输指南。
android·kotlin·app
梵法利亚1 小时前
Ubuntu-docker安装mysql
mysql·ubuntu·docker
_一条咸鱼_1 小时前
Android Glide 的显示与回调模块原理分析
android
_一条咸鱼_1 小时前
Android Glide 图片解码与转换模块原理分析
android
QING6181 小时前
Android_BLE开发——扫描
android·kotlin·app