Python MySQL 可视化界面 - 使用 Tkinter 创建数据库连接和查询工具
以下代码使用 Python 的 Tkinter 库创建了一个简单的 MySQL 可视化界面,允许用户输入连接信息、执行 SQL 查询并查看结果。
import tkinter as tk
import pymysql
# 创建窗口
root = tk.Tk()
root.title('MySQL 可视化界面')
# 添加标签
label1 = tk.Label(root, text='MySQL 连接信息', font=('Arial', 18))
label1.grid(row=0, column=0, sticky='W', padx=20, pady=10)
# 添加标签和文本框
label2 = tk.Label(root, text='主机地址:')
label2.grid(row=1, column=0, padx=20, pady=10)
entry1 = tk.Entry(root)
entry1.grid(row=1, column=1)
label3 = tk.Label(root, text='用户名:')
label3.grid(row=2, column=0, padx=20, pady=10)
entry2 = tk.Entry(root)
entry2.grid(row=2, column=1)
label4 = tk.Label(root, text='密码:')
label4.grid(row=3, column=0, padx=20, pady=10)
entry3 = tk.Entry(root, show='*')
entry3.grid(row=3, column=1)
label5 = tk.Label(root, text='数据库名称:')
label5.grid(row=4, column=0, padx=20, pady=10)
entry4 = tk.Entry(root)
entry4.grid(row=4, column=1)
# 添加连接按钮
def connect_mysql():
host = entry1.get()
user = entry2.get()
password = entry3.get()
db = entry4.get()
try:
conn = pymysql.connect(host=host, user=user, password=password, db=db, charset='utf8mb4')
listbox1.insert(tk.END, '数据库连接成功!')
button2.config(state='normal')
except Exception as e:
listbox1.insert(tk.END, '数据库连接失败:' + str(e))
button1 = tk.Button(root, text='连接', font=('Arial', 14), command=connect_mysql)
button1.grid(row=5, column=1, padx=20, pady=10)
# 添加列表框
listbox1 = tk.Listbox(root, width=80)
listbox1.grid(row=6, columnspan=2, padx=20, pady=10)
# 添加查询按钮
def query_mysql():
sql = entry5.get()
try:
conn = pymysql.connect(host=entry1.get(), user=entry2.get(), password=entry3.get(), db=entry4.get(), charset='utf8mb4')
listbox1.insert(tk.END, '数据库连接成功!')
cursor = conn.cursor()
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
listbox1.insert(tk.END, row)
cursor.close()
conn.commit()
conn.close()
listbox1.insert(tk.END, '查询成功!')
except Exception as e:
listbox1.insert(tk.END, '查询失败:' + str(e))
label6 = tk.Label(root, text='请输入SQL语句:')
label6.grid(row=8, column=0, padx=20, pady=10)
entry5 = tk.Entry(root, width=100)
entry5.grid(row=8, column=1)
button2 = tk.Button(root, text='查询', font=('Arial', 14), command=query_mysql, state='disable')
button2.grid(row=9, column=1, padx=20, pady=10)
root.mainloop()
代码说明:
- 导入必要的库:
tkinter用于创建 GUI 界面,pymysql用于连接 MySQL 数据库。 - 创建窗口:使用
tk.Tk()创建主窗口,并设置标题。 - 添加标签和文本框:使用
tk.Label()和tk.Entry()创建标签和文本框,用于输入数据库连接信息。 - 添加连接按钮:使用
tk.Button()创建连接按钮,并绑定connect_mysql函数,该函数使用pymysql库连接到 MySQL 数据库。 - 添加列表框:使用
tk.Listbox()创建列表框,用于显示数据库连接状态和查询结果。 - 添加查询按钮:使用
tk.Button()创建查询按钮,并绑定query_mysql函数,该函数使用pymysql库执行 SQL 查询并显示结果。 - 运行主循环:使用
root.mainloop()运行 Tkinter 事件循环,使界面保持响应。
注意:
- 代码中的
pymysql库需要安装。可以使用 pip 命令安装:pip install pymysql - 代码中的数据库连接信息需要修改为您的实际数据库信息。
- 代码中的 SQL 语句需要修改为您的实际查询语句。
该代码提供了一个简单的 MySQL 可视化界面,可以方便地连接数据库并执行简单的查询操作。您可以根据自己的需求对代码进行扩展和改进。
原文地址: https://www.cveoy.top/t/topic/nYST 著作权归作者所有。请勿转载和采集!