[Python 100日チャレンジ] Day 78 - PythonとSQLiteでCRUDを作る
Pythonのsqlite3でCRUD関数を作り、データベース操作を再利用しやすい形に整理します。
[Python 100日チャレンジ] Day 78 - PythonとSQLiteでCRUDを作る
CRUDとは
CRUDは、Create、Read、Update、Deleteの頭文字です。アプリでデータを扱う基本操作を表します。
関数に分ける
1
2
3
4
5
6
7
8
9
10
11
import sqlite3
def get_connection():
return sqlite3.connect("app.db")
def create_user(name, email):
with get_connection() as conn:
conn.execute(
"INSERT INTO users (name, email) VALUES (?, ?)",
(name, email),
)
接続やSQLを関数にまとめると、同じ処理を何度も書かずに済みます。
読み取り関数
1
2
3
4
def list_users():
with get_connection() as conn:
cursor = conn.execute("SELECT id, name, email FROM users")
return cursor.fetchall()
一覧取得、1件取得、検索などを用途ごとに分けます。
更新と削除
1
2
3
4
5
6
7
def update_email(user_id, email):
with get_connection() as conn:
conn.execute("UPDATE users SET email = ? WHERE id = ?", (email, user_id))
def delete_user(user_id):
with get_connection() as conn:
conn.execute("DELETE FROM users WHERE id = ?", (user_id,))
今日のゴール
PythonとSQLiteを組み合わせると、小さなアプリのデータ保存機能を作れます。CRUDを関数化して、使いやすいデータアクセス層にしましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
