Day7 前半
「CRUD を一周させる」ことで“ただの知識”を“手応え”に変える
Day1〜Day6で、テーブルのイメージ、CREATE TABLE、INSERT、SELECT、WHERE、AND / OR、LIKE までひと通り触ってきました。
Day7 はその総復習として、自分で小さなテーブルを設計し、CRUD を一周させる ことがテーマです。
CRUD は、次の4つの頭文字です。
Create(作る)
Read(読む)
Update(更新する)
Delete(削除する)
Day7 前半では、まず「小さなテーブルを自分で設計する」ところまでを丁寧にやります。
後半で、そのテーブルに対して CRUD を一通り実行していきます。
CRUD を意識すると「何を学んでいるか」がクリアになる
ここまで学んできた内容を CRUD に対応させると、こう整理できます。
Create → CREATE TABLE(テーブルを作る)、INSERT(行を作る)
Read → SELECT(行を読む)
Update → UPDATE(行を更新する)
Delete → DELETE(行を削除する)
Day1〜Day6 で、すでに Create と Read のかなりの部分は触っています。
Day7 では、それを「1つのテーブルに対して一気通貫でやる」ことで、バラバラだった知識を一本の線にします。
小さなテーブルを自分で設計する
テーマを「タスク管理」に決めてみる
いきなり複雑な業務システムを考える必要はありません。
ここでは、誰でもイメージしやすい 「タスク管理」 を題材にします。
「自分のやることリスト」をデータベースで管理する、と考えてください。
タスクには、最低限こんな情報が欲しくなります。
タスクを識別するID
タスクのタイトル
タスクの詳細(あってもなくてもよい)
タスクが完了したかどうか
Day3 でやったように、「列名」と「型」を決めていきます。
id → 整数(INTEGER)
title → 文字列(TEXT)
detail → 文字列(TEXT)
done → 整数(INTEGER)(0: 未完了、1: 完了 として扱う)
ここでのポイントは、「真偽値(true/false)」を SQLite では INTEGER で表現する、という設計判断です。
SQLite には専用の boolean 型がないので、0/1 で表すのがよくあるパターンです。
CREATE TABLE でタスクテーブルを定義する
「現実の情報」を列に落とし込む
設計した内容を、そのまま CREATE TABLE にします。
CREATE TABLE tasks (
id INTEGER,
title TEXT,
detail TEXT,
done INTEGER
);
SQLこの1文で、次のことをデータベースに宣言しています。
tasks という名前のテーブルを作る。
id は整数。
title は文字列。
detail も文字列。
done は整数(0/1で完了状態を表す)。
ここまで来ると、「現実の情報をどう列に分解するか」「どの型で持つか」を自分で決められている状態です。
これはもう立派な“テーブル設計”です。
まずはテーブルを作ってみる
「エラーなく通るか」を必ず確認する
SQLite の CLI で tasks テーブルを作る流れをイメージしてみましょう。
CREATE TABLE tasks (
id INTEGER,
title TEXT,
detail TEXT,
done INTEGER
);
SQLEnter を押しても、何も表示されないかもしれませんが、エラーが出なければ成功です。
念のため、テーブル一覧を確認します。
.tables
SQLここに tasks が表示されていれば、テーブル作成は完了です。
Day7 では、「とりあえず書いてみる」ではなく、「作ったら必ず確認する」という姿勢を意識してください。
これはセキュリティ的にも重要で、「意図しないテーブルができていないか」「名前を間違えていないか」を早めに検知することにつながります。
どんな CRUD を試すかを先にイメージしておく
後半でやることを、ここでざっくりイメージしておきます。
タスクを3件くらい INSERT する(Create)。SELECT で全件確認する(Read)。
特定のタスクの done を 1 に更新する(Update)。
終わったタスクを DELETE で消してみる(Delete)。
Day7 前半のゴールは、「この一連の流れを、この tasks テーブルでやるんだな」という絵が頭に浮かんでいる状態です。
SQL の文法を全部暗記している必要はありません。
「何をしたいか」がはっきりしていれば、文法はあとからいくらでも調べられます。
Day7 前半のまとめ
Day7 は総復習として、「小さなテーブルを自分で設計し、CRUD を一周させる」のがテーマ。
CRUD は Create / Read / Update / Delete の4つで、これがデータベース操作の基本パターン。
題材として「タスク管理」を選び、tasks テーブルを自分で設計した。CREATE TABLE tasks (...) で、現実の情報(タスク)を列と型に落とし込んだ。
後半では、この tasks テーブルに対して、実際に CRUD を一通り実行していく。
後半では、
実際にタスクを INSERT し、SELECT で確認し、UPDATE と DELETE まで一気にやって、
「SQL でデータを一周させる」感覚をしっかり体に刻んでいきます。

