python 写一个输入开始时间及结束时间查询sqlite3数据库内的资料
时间: 2024-05-06 18:20:42 浏览: 19
以下是一个示例代码,它将提示用户输入开始时间和结束时间,并从SQLite3数据库中检索数据。
```python
import sqlite3
# 连接到SQLite3数据库
conn = sqlite3.connect('your_database.db')
# 获取一个游标
c = conn.cursor()
# 提示用户输入开始时间和结束时间
start_time = input("请输入开始时间(格式:YYYY-MM-DD HH:MM:SS):")
end_time = input("请输入结束时间(格式:YYYY-MM-DD HH:MM:SS):")
# 使用游标执行SQL查询
c.execute("SELECT * FROM your_table WHERE time BETWEEN ? AND ?", (start_time, end_time))
# 获取查询结果
results = c.fetchall()
# 输出结果
for row in results:
print(row)
# 关闭数据库连接
conn.close()
```
请注意,上述代码中的“your_database.db”和“your_table”应替换为您的实际数据库和表名称。此外,如果您的时间格式不是“YYYY-MM-DD HH:MM:SS”,则需要相应地更改查询语句。
相关问题
使用python和SQLite3数据库
好的,以下是一个基于Python和SQLite3数据库的简单界面设计方案:
```python
import sqlite3
import tkinter as tk
# 创建数据库连接
conn = sqlite3.connect('cal.db')
c = conn.cursor()
# 创建计算记录表
c.execute('''CREATE TABLE IF NOT EXISTS cal_records
(id INTEGER PRIMARY KEY AUTOINCREMENT,
num1 REAL,
num2 REAL,
op TEXT,
result REAL)''')
# 定义计算函数
def calculate():
num1 = float(entry1.get())
num2 = float(entry2.get())
op = listbox.get(listbox.curselection())
if op == '+':
result = num1 + num2
elif op == '-':
result = num1 - num2
elif op == '*':
result = num1 * num2
elif op == '/':
result = num1 / num2
else:
result = 0.0
result_label.config(text=str(result))
# 存储计算结果到数据库
c.execute('INSERT INTO cal_records (num1, num2, op, result) VALUES (?, ?, ?, ?)',
(num1, num2, op, result))
conn.commit()
# 定义查询函数
def query():
num1 = float(entry1.get())
c.execute('SELECT * FROM cal_records WHERE num1=?', (num1,))
records = c.fetchall()
result_str = ''
for record in records:
result_str += f'num1: {record[1]}, num2: {record[2]}, op: {record[3]}, result: {record[4]}\n'
result_label.config(text=result_str)
# 创建界面
root = tk.Tk()
root.title('Calculator')
label1 = tk.Label(root, text='Number 1:')
label1.grid(row=0, column=0)
entry1 = tk.Entry(root)
entry1.grid(row=0, column=1)
label2 = tk.Label(root, text='Number 2:')
label2.grid(row=1, column=0)
entry2 = tk.Entry(root)
entry2.grid(row=1, column=1)
listbox = tk.Listbox(root)
listbox.grid(row=2, column=0, columnspan=2)
listbox.insert(0, '+', '-', '*', '/')
calculate_btn = tk.Button(root, text='Calculate', command=calculate)
calculate_btn.grid(row=3, column=0)
query_btn = tk.Button(root, text='Query', command=query)
query_btn.grid(row=3, column=1)
result_label = tk.Label(root, text='')
result_label.grid(row=4, column=0, columnspan=2)
root.mainloop()
# 关闭数据库连接
c.close()
conn.close()
```
在上述界面中,我们使用了Python的Tkinter库来创建GUI界面。界面中包含两个文本框用于输入两个数值,一个列表框用于选择运算方法,一个计算按钮和一个查询按钮。在点击计算按钮时,程序会根据用户的输入和选择进行相应的数学运算,并将结果显示在界面上。同时,程序会将计算结果存入SQLite3数据库中。在点击查询按钮时,程序会根据用户输入的第一个数值从数据库中查询相应的计算结果,并将结果显示在界面上。
需要注意的是,在使用SQLite3数据库时,我们需要首先建立数据库连接,然后再通过cursor对象执行SQL语句进行数据库操作。最后,务必在程序结束时关闭数据库连接。
python 编写登录界面程序,用SQLite数据库实现。
好的,下面是一个简单的Python登录界面程序,使用SQLite数据库来存储用户信息:
```python
import sqlite3
from tkinter import *
# 连接到SQLite数据库
conn = sqlite3.connect('users.db')
cur = conn.cursor()
# 创建用户表格(如果不存在)
cur.execute('''CREATE TABLE IF NOT EXISTS users
(username TEXT PRIMARY KEY, password TEXT)''')
# 定义登录函数
def login():
# 获取用户名和密码
username = username_entry.get()
password = password_entry.get()
# 在数据库中查找用户
cur.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
user = cur.fetchone()
# 如果找到用户,显示欢迎消息,否则弹出错误消息
if user:
welcome_label.config(text="Welcome, " + username + "!")
else:
error_label.config(text="Invalid username or password.")
# 创建登录界面
root = Tk()
root.title("Login")
username_label = Label(root, text="Username:")
username_label.pack()
username_entry = Entry(root)
username_entry.pack()
password_label = Label(root, text="Password:")
password_label.pack()
password_entry = Entry(root, show="*")
password_entry.pack()
login_button = Button(root, text="Login", command=login)
login_button.pack()
welcome_label = Label(root, text="")
welcome_label.pack()
error_label = Label(root, text="", fg="red")
error_label.pack()
root.mainloop()
# 关闭数据库连接
conn.close()
```
以上代码创建了一个名为'users.db'的SQLite数据库文件,并在其中创建了一个名为'users'的表格,用于存储用户名和密码。然后创建了一个登录界面,用户输入用户名和密码后,程序会在数据库中查找用户。如果找到用户,则在欢迎标签中显示欢迎消息,否则会弹出错误消息。
您可以根据需要修改上述代码来满足您的需求。注意要在程序结束时关闭数据库连接。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)