我电脑1写了个Python操作mysql数据库的代码,封装为exe,发给另一台电脑2。我想把电脑1作为类似服务器的角色,那么应该怎么做,才能电脑2运行exe进行数据库操作后,我这边的电脑1的数据库也会发生改变呢?代码如下。
import pymysql
from tkinter import *
# 创建数据库连接
db = pymysql.connect(host='localhost', user='root', password='1996woaini147A', database='mydatabase')
# 创建游标对象。游标对象用于执行SQL命令和获取结果。
cursor = db.cursor()
def select_all():
cursor.execute("SELECT * FROM mytable")
results = cursor.fetchall()
for row in results:
print(row)
def open_insert_window():
insert_window = Toplevel(root)
Label(insert_window, text="Name").grid(row=0)
Label(insert_window, text="Age").grid(row=1)
Label(insert_window, text="Major").grid(row=2)
name_entry = Entry(insert_window)
age_entry = Entry(insert_window)
major_entry = Entry(insert_window)
name_entry.grid(row=0, column=1)
age_entry.grid(row=1, column=1)
major_entry.grid(row=2, column=1)
Button(insert_window, text='Insert', command=lambda: insert_data(name_entry.get(), int(age_entry.get()), major_entry.get())).grid(row=3, column=1)
def insert_data(name, age, major):
sql = "INSERT INTO mytable (name, age, major) VALUES (%s, %s, %s)"
values = (name, age, major)
cursor.execute(sql, values)
db.commit()
def update_data():
sql = "UPDATE mytable SET major = %s WHERE name = %s"
values = ('Data Science', 'Tom')
cursor.execute(sql, values)
db.commit()
def delete_data():
sql = "DELETE FROM mytable WHERE age > %s"
values = (22, )
cursor.execute(sql, values)
db.commit()
# 创建Tkinter窗口
root = Tk()
# 设置窗口标题
root.title("myfirsttry")
# 创建按钮
select_button = Button(root, text="Select All", command=select_all)
insert_button = Button(root, text="Insert Data", command=insert_data)
update_button = Button(root, text="Update Data", command=update_data)
delete_button = Button(root, text="Delete Data", command=delete_data)
open_insert_window_button = Button(root, text="open_insert_window", command=open_insert_window)
# 将按钮添加到窗口
select_button.grid(row=0, column=1)
insert_button.grid(row=0, column=2)
update_button.grid(row=0, column=3)
delete_button.grid(row=0, column=4)
open_insert_window_button.grid(row=0, column=5)
# 运行Tkinter事件循环。如果没有这行代码,窗口会立即打开然后关闭,因为程序没有进入事件循环,所以无法响应用户的操作。
root.mainloop()
# 关闭游标对象
cursor.close()
# 关闭数据库连接
db.close()