SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day7 総復習

SQLite
スポンサーリンク

Day7 前半

「CRUD を一周させる」ことで“ただの知識”を“手応え”に変える

Day1〜Day6で、テーブルのイメージ、CREATE TABLEINSERTSELECTWHEREAND / ORLIKE までひと通り触ってきました。
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
);
SQL

Enter を押しても、何も表示されないかもしれませんが、エラーが出なければ成功です。
念のため、テーブル一覧を確認します。

.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 で確認し、UPDATEDELETE まで一気にやって、
「SQL でデータを一周させる」感覚をしっかり体に刻んでいきます。

タイトルとURLをコピーしました