投稿

[今さら始める Python マスター #12] データベース連携

PythonからSQLiteやSQLデータベースへ接続し、CRUDとORMの基本的な考え方を学びます。

[今さら始める Python マスター #12] データベース連携

Pythonとデータベース

Pythonアプリでデータを保存するなら、データベース連携が必要になります。小さなツールならSQLite、本格的なWebアプリならPostgreSQLやMySQLがよく使われます。

SQLiteに接続する

1
2
3
4
import sqlite3

conn = sqlite3.connect("app.db")
cursor = conn.cursor()

SQLを実行する

1
2
3
4
5
6
7
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL
)
""")
conn.commit()

CRUD

データベース操作の基本は、作成、読み取り、更新、削除です。

1
2
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Aki",))
rows = cursor.execute("SELECT id, name FROM users").fetchall()

ORM

ORMを使うと、テーブルをPythonのクラスに対応させて扱えます。SQLAlchemyはPythonでよく使われるORMの一つです。

今日のゴール

データベース連携では、接続、SQL実行、commit、closeの流れを理解します。まずはSQLiteで小さなCRUD処理を作ってみましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。