投稿

[Python 100日チャレンジ] Day 73 - SQL基本: CREATEとINSERT

SQLのCREATE TABLEとINSERT文を使って、テーブル作成とデータ登録の基本を学びます。

[Python 100日チャレンジ] Day 73 - SQL基本: CREATEとINSERT

テーブルを作る

CREATE TABLEは、データを入れる表を作るSQLです。

1
2
3
4
5
CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT
);

idは行を識別するための番号、TEXTは文字列の型です。

データを追加する

INSERTでテーブルに行を追加します。

1
2
INSERT INTO users (name, email)
VALUES ('Aki', 'aki@example.com');

Pythonから実行する

このINSERTは、id、name、email列のあるusersテーブルを先に作ったDBで実行します。前回の最小例のusersにはemail列がないため、そのファイルをそのまま使うと列不足になります。新しい作業フォルダでこの回のスキーマを作り、同じapp.dbへ接続する順で試してください。SQLの定義をPythonのコードへそのまま貼るのではなく、DBのSQL実行機能などから先に適用します。

1
2
3
4
5
6
7
8
import sqlite3

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

cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ("Aki", "aki@example.com"))
conn.commit()
conn.close()

Pythonから値を渡すときは、文字列を直接つなげず、?プレースホルダーを使います。

今日のゴール

CREATEで保存先の形を決め、INSERTでデータを追加します。データベース操作の最初の基本として、テーブル設計と登録処理をセットで練習しましょう。

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