[Python 100日チャレンジ] Day 80 - ミニプロジェクト: SQLite Todoアプリ
PythonとSQLiteでTodoアプリを作り、テーブル設計、CRUD、完了状態の更新を実践します。
[Python 100日チャレンジ] Day 80 - ミニプロジェクト: SQLite Todoアプリ
今日のプロジェクト
Day 80では、Phase 8で学んだSQLとSQLiteを使って、CLI版のTodoアプリを作ります。小さなアプリですが、データベースを使う実践としてとても良い題材です。
テーブル設計
1
2
3
4
5
6
CREATE TABLE todos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
done INTEGER DEFAULT 0,
created_at TEXT
);
Todoには、タイトル、完了状態、作成日時を持たせます。
追加する
1
2
3
def add_todo(title):
with sqlite3.connect("todo.db") as conn:
conn.execute("INSERT INTO todos (title, done) VALUES (?, 0)", (title,))
一覧を見る
1
2
3
def list_todos():
with sqlite3.connect("todo.db") as conn:
return conn.execute("SELECT id, title, done FROM todos").fetchall()
完了にする
1
2
3
def complete_todo(todo_id):
with sqlite3.connect("todo.db") as conn:
conn.execute("UPDATE todos SET done = 1 WHERE id = ?", (todo_id,))
今日のゴール
Todoアプリでは、CREATE、SELECT、UPDATE、DELETEの基本を一通り使います。小さなCRUDアプリを完成させることで、PythonとSQLiteの接続がかなり実用的になります。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
