Files
myfirstprogram/addons/todo/DB.py
T
2025-10-29 21:46:06 +03:00

58 lines
1.8 KiB
Python

import sqlite3
from datetime import datetime
DIR = "/Users/mac/myfirstprogramm/addons/todo/todo.db" # лучше указать полный путь
# создаём подключение
db = sqlite3.connect(DIR)
cursor = db.cursor()
# создаём таблицу, если её ещё нет
cursor.execute("""
CREATE TABLE IF NOT EXISTS tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
who INTEGER NOT NULL,
task TEXT NOT NULL,
due_date TEXT NOT NULL
)
""")
db.commit()
# функция для добавления задачи
def add_task(who: int, task: str, due_date: str):
cursor.execute(
"INSERT INTO tasks (who, task, due_date) VALUES (?, ?, ?)",
(who, task, due_date)
)
db.commit()
# функция для получения всех задач пользователя
def get_tasks(who: int):
cursor.execute("SELECT id, task, due_date FROM tasks WHERE who = ?", (who,))
return cursor.fetchall()
# функция для удаления всех задач пользователя
def delete_tasks_by_who(who: int):
cursor.execute("DELETE FROM tasks WHERE who = ?", (who,))
db.commit()
# пример использования
if __name__ == "__main__":
# добавляем задачи
add_task(123456789, "Сделать бота", datetime.now().strftime("%d.%m.%Y %H:%M:%S"))
add_task(123456789, "Проверить базу", datetime.now().strftime("%d.%m.%Y %H:%M:%S"))
print("Задачи до удаления:")
tasks = get_tasks(123456789)
for t in tasks:
print(t)
# удаляем все задачи пользователя
delete_tasks_by_who(123456789)
print("\nЗадачи после удаления:")
tasks = get_tasks(123456789)
for t in tasks:
print(t)