第3回まで無料

データベース基礎(MySQL)

コピペした SQL を直しながら使っている状態から抜けるコースです。SELECT と WHERE、NULL の三値論理、JOIN と LEFT JOIN の違い、ウィンドウ関数、トランザクションとロック、正規化、インデックスと EXPLAIN まで。全30レッスンで「なぜその結果になるのか」を説明できるところまで進みます。

カリキュラム

全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 いま困っている範囲だけを拾い読みしてもかまいません。 ※ SQL はブラウザ内で実行できません。手元に MySQL 8.4(または 8.0)を入れて、第1回のサンプルデータを読み込んで試してください。

Chapter 1 — MySQL を動かす(第1〜3回)

接続して、データベースとテーブルを作り、行を入れて取り出すところまで。ここで作るサンプルデータを、第30回まで同じものとして使い続けます。

Chapter 2 — SELECT を使いこなす(第4〜8回)

列の選び方と別名、WHERE の条件、LIKE のパターン、そして NULL。「= NULL では引っかからない」の理由を三値論理まで降りて確かめ、最後は並び替えとページネーションへ。

Chapter 3 — 集計と結合(第9〜15回)

COUNT が NULL を数えない話から GROUP BY と HAVING へ。そして JOIN。INNER と LEFT の違い、ON と WHERE を取り違えたときに何が起きるか、自己結合、サブクエリ、CTE。

Chapter 4 — 関数とデータの更新(第16〜19回)

ウィンドウ関数で「グループごとの順位」を1文で書き、日付と時間の落とし穴を踏み、INSERT の実践と、UPDATE・DELETE を安全に流す手順へ。

Chapter 5 — 壊さないための設計(第20〜24回)

トランザクションとロック、デッドロックの読み方。そしてデータ型の選び方、主キーと外部キー、正規化。あとから直しにくいところをまとめて扱います。

Chapter 6 — 速さと運用(第25〜30回)

インデックスが効く条件と効かない条件、EXPLAIN の読み方、文字コードと照合順序、権限とバックアップ、そしてアプリから接続するところまで。最後に設計から実装まで通します。

全30レッスンを終えたら、同じ題材を PostgreSQL で見る データベース基礎(PostgreSQL)へ。アプリ側から使うなら Django 入門や FastAPI 入門が続きです。メンバーシップで全コースが解放されます。