python 利用GUI将输入的指定学号的学生的所有信息删除并且mysql也对该学生信息进行删除,并做出例子
时间: 2024-02-12 14:07:56 浏览: 103
好的,我来给你讲解一下如何利用Python的GUI库将指定学号的生信息从MySQL数据库中删除,同时实现MySQL数据库中对该学生信息的删除。
首先,我们需要使用Python的GUI库来创建一个可视化的界面,这里我选择使用PyQt5库。接下来,我们需要连接MySQL数据库,并将学生信息加载到界面中。在这个过程中,我们需要使用PyMySQL库来连接MySQL数据库并执行相应的SQL语句来获取学生信息。
接下来,我们需要在界面中添加一个输入框,用于输入要删除的学生的学号。我们还需要添加一个按钮,用于触发删除操作。当用户点击该按钮时,我们需要从输入框中获取学号,然后执行相应的SQL语句来删除该学生信息。同时,在删除操作完成后,我们需要更新界面中的学生信息。
下面是一个简单的示例代码,该代码演示了如何使用PyQt5库和PyMySQL库来实现上述功能:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton
import pymysql
class StudentInfoDeleter(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 连接MySQL数据库
self.conn = pymysql.connect(host='localhost', user='root', password='password', database='test')
self.cur = self.conn.cursor()
# 查询所有学生信息
self.cur.execute('SELECT * FROM students')
self.students = self.cur.fetchall()
# 添加标签和输入框
self.lbl = QLabel('请输入要删除的学生的学号:', self)
self.lbl.move(20, 20)
self.txt = QLineEdit(self)
self.txt.move(20, 50)
# 添加删除按钮
self.btn = QPushButton('删除', self)
self.btn.move(20, 80)
self.btn.clicked.connect(self.deleteStudent)
# 显示学生信息
self.displayStudents()
# 设置窗口大小和标题
self.setGeometry(300, 300, 400, 300)
self.setWindowTitle('删除学生信息')
self.show()
def displayStudents(self):
# 显示学生信息
for i, student in enumerate(self.students):
lbl = QLabel(self)
lbl.setText(f'{student[0]} {student[1]} {student[2]}')
lbl.move(20, 120 + i * 30)
def deleteStudent(self):
# 获取要删除的学生的学号
student_id = int(self.txt.text())
# 删除MySQL数据库中的学生信息
self.cur.execute(f'DELETE FROM students WHERE id = {student_id}')
self.conn.commit()
# 更新界面中的学生信息
for child in self.children():
if isinstance(child, QLabel):
child.deleteLater()
self.cur.execute('SELECT * FROM students')
self.students = self.cur.fetchall()
self.displayStudents()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = StudentInfoDeleter()
sys.exit(app.exec_())
```
在上面的代码中,我们创建了一个名为`StudentInfoDeleter`的QWidget类,该类继承自QWidget类,并且包含了一个initUI()方法,该方法用于初始化界面。在initUI()方法中,我们首先连接MySQL数据库,并使用SQL语句获取所有学生的信息。然后,我们添加一个标签和一个输入框,用于输入要删除的学生的学号。接着,我们添加一个按钮,用于触发删除操作。当用户点击该按钮时,我们获取输入框中的学号,并使用SQL语句删除MySQL数据库中对应的学生信息。最后,我们更新界面中的学生信息。
总之,以上就是一个简单的示例代码,它演示了如何使用PyQt5库和PyMySQL库来实现Python GUI程序中的MySQL数据库操作。你可以根据自己的需要进行修改和优化。
阅读全文