python tkinter使用button按钮清空sqlite数据库example,并将id改为1,并以窗口的形式显示
时间: 2024-05-01 18:21:01 浏览: 110
python清空sqlite库
好的,以下是一个示例代码,可以实现你的需求:
```python
import sqlite3
import tkinter as tk
# 创建数据库连接
conn = sqlite3.connect('example.db')
c = conn.cursor()
# 创建表格
c.execute('''CREATE TABLE IF NOT EXISTS data
(id INTEGER PRIMARY KEY, info TEXT)''')
# 向表格中插入数据
c.execute("INSERT INTO data (info) VALUES ('Hello World')")
c.execute("INSERT INTO data (info) VALUES ('Python is awesome')")
# 定义清空数据库的函数
def clear_database():
# 删除表格中的所有数据
c.execute("DELETE FROM data")
# 将自增id重置为1
c.execute("DELETE FROM sqlite_sequence WHERE name='data'")
c.execute("INSERT INTO sqlite_sequence (name, seq) VALUES ('data', 1)")
# 提交更改
conn.commit()
# 重新查询数据并在窗口中显示
show_data()
# 定义显示数据的函数
def show_data():
# 查询所有数据
c.execute("SELECT * FROM data")
data = c.fetchall()
# 清空窗口中的文本框
text.delete('1.0', tk.END)
# 将数据显示在窗口中的文本框中
for row in data:
text.insert(tk.END, f"id: {row[0]}\ninfo: {row[1]}\n\n")
# 创建窗口
root = tk.Tk()
# 创建按钮
clear_button = tk.Button(root, text="Clear Database", command=clear_database)
clear_button.pack()
# 创建文本框
text = tk.Text(root)
text.pack()
# 显示数据
show_data()
# 进入主循环
root.mainloop()
# 关闭数据库连接
conn.close()
```
这个代码使用了 Python 自带的 `sqlite3` 模块来连接 SQLite 数据库,并使用了 Tkinter 模块创建了一个简单的窗口,其中包括一个按钮和一个文本框。当点击按钮时,会调用 `clear_database` 函数来清空数据库,并将自增id重置为1,然后重新查询数据并在窗口中显示。同时,代码还实现了在窗口启动时就显示数据的功能,这是通过在 `show_data` 函数中查询所有数据,并将其显示在窗口中的文本框中实现的。
阅读全文