使用tkinter编写一段代码能够实现连接MySQL数据库并能够向数据库中增加数据数据库有6列
以下是使用tkinter和MySQL Connector Python库编写的连接数据库并添加数据的代码示例:
import tkinter as tk
import mysql.connector
# 创建数据库连接
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建数据库游标
mycursor = mydb.cursor()
# 创建GUI窗口
window = tk.Tk()
window.title("添加数据")
window.geometry("300x200")
# 创建标签和输入框
label1 = tk.Label(window, text="列1")
label1.pack()
entry1 = tk.Entry(window)
entry1.pack()
label2 = tk.Label(window, text="列2")
label2.pack()
entry2 = tk.Entry(window)
entry2.pack()
label3 = tk.Label(window, text="列3")
label3.pack()
entry3 = tk.Entry(window)
entry3.pack()
label4 = tk.Label(window, text="列4")
label4.pack()
entry4 = tk.Entry(window)
entry4.pack()
label5 = tk.Label(window, text="列5")
label5.pack()
entry5 = tk.Entry(window)
entry5.pack()
label6 = tk.Label(window, text="列6")
label6.pack()
entry6 = tk.Entry(window)
entry6.pack()
# 定义添加数据函数
def add_data():
# 获取输入框中的数据
col1 = entry1.get()
col2 = entry2.get()
col3 = entry3.get()
col4 = entry4.get()
col5 = entry5.get()
col6 = entry6.get()
# 执行SQL语句插入数据
sql = "INSERT INTO yourtable (column1, column2, column3, column4, column5, column6) VALUES (%s, %s, %s, %s, %s, %s)"
val = (col1, col2, col3, col4, col5, col6)
mycursor.execute(sql, val)
mydb.commit()
# 清空输入框
entry1.delete(0, tk.END)
entry2.delete(0, tk.END)
entry3.delete(0, tk.END)
entry4.delete(0, tk.END)
entry5.delete(0, tk.END)
entry6.delete(0, tk.END)
# 在标签中显示添加成功
status_label.config(text="添加成功")
# 创建添加按钮
add_button = tk.Button(window, text="添加", command=add_data)
add_button.pack()
# 创建状态标签
status_label = tk.Label(window, text="")
status_label.pack()
# 运行窗口主循环
window.mainloop()
在上述代码中,我们使用mysql.connector库来连接MySQL数据库。在创建GUI窗口时,我们创建了6个标签和6个输入框,分别用于输入6列数据。我们还定义了一个add_data()函数,用于将输入框中的数据插入到数据库中。
在执行SQL语句插入数据时,我们使用了占位符%s来代替实际的数据,并将实际数据存储在一个元组中。我们还使用了mydb.commit()来确保数据被提交到数据库中。
当用户单击“添加”按钮时,我们将调用add_data()函数。在函数中,我们首先获取输入框中的数据,然后执行SQL语句插入数据。如果插入成功,我们会在状态标签中显示“添加成功”。
最后,我们运行窗口的主循环以显示GUI窗口并等待用户交互
原文地址: https://www.cveoy.top/t/topic/fHHk 著作权归作者所有。请勿转载和采集!