17 のガイド付きラボで、より高度なクエリ、整合性、自動化、専門検索、分析、バックアップ、チューニング、保守へ SQLite スキルを広げます。各ラボは小さなローカルデータベースを使い、SQL または CLI コマンドを実行して、スキーマ、行、クエリプラン、状態を確認します。
幅広い中上級トピックを扱いながら、学習形式は段階的です。制約とインデックスから、JOIN、サブクエリ、トランザクション、トリガー、ビュー、FTS5、CTE、ウィンドウ関数、運用コマンドまで進みますが、1 つの大規模アプリを設計するものではありません。
学習内容
- 外部キー、
CHECK制約、複合キー、ON CONFLICTアクションで整合性を保つ - インデックスを作成・削除し、
EXPLAIN QUERY PLANを調べ、再構築、ANALYZE、VACUUMを実行する - 内部・左・複数テーブル JOIN、集約、
GROUP BY、HAVING、相関サブクエリでデータを結合・要約する BEGIN、COMMIT、ROLLBACK、セーブポイント、不正残高を拒否する制約で変更を制御する- トリガーで監査記録を自動化し、単純・結合・集約・トリガー対応更新可能ビューを構築する
- FTS5 仮想テーブルを作成し、
MATCH、前方一致、列指定、Boolean 全文検索を使う - JSON をテキストとして保存し、抽出・絞り込み・更新用の独自 Python SQL 関数
json_extractを公開する - SQL dump の書き出しと復元、PRAGMA、テンポラリテーブル、単純・再帰 CTE、ウィンドウ関数による順位と累積値を実践する
このコースの対象者
このコースは、SQLite のデータベースとテーブルを作成し、基本的な SELECT、INSERT、UPDATE、DELETE を書ける開発者、アナリスト、データベース学習者向けです。大きなプロジェクトで使う前に、多様な SQLite 固有機能をガイド付きで体験できます。
前提知識: テーブル作成、主キー、単純な絞り込み、CRUD を含む SQLite CLI と SQL の基礎を推奨します。JSON ラボでは Python の基礎が役立ちますが、ほとんどの内容には不要です。
学習環境: 17 の初級ガイド付きラボはすべて Ubuntu 22.04 デスクトップ VM で、主に sqlite3 CLI を使います。84 のタスクステップと 101 の自動チェックがあり、JSON ラボでは標準 sqlite3 と json モジュールを使う Python スクリプトも作成・実行します。
よくある質問
実際にはどの程度高度なコースですか?
再帰 CTE、ウィンドウ関数、FTS5、トリガー、クエリプランなど、基本 SQL を超えるトピックがあります。ただし 17 のラボはすべて初級に分類され、小さなデータベースでコマンドを段階的に示すため、独立したデータベース設計より機能のガイド付き練習が中心です。
JSON ラボは SQLite のネイティブ JSON 関数を使いますか?
いいえ。JSON をテキストとして保存し、Python で json_extract 関数を定義して Python の SQLite 接続に登録します。SQLite 組み込みの JSON 演算子や関数を練習する内容とは異なります。
どのようなバックアップを行いますか?
CLI の .dump でテキスト SQL dump を作成し、その SQL を新しいデータベースに入力して復元します。オンラインバックアップ API、安全なバイナリコピー、定期バックアップ、ポイントインタイム復旧は扱いません。
本番データベースのチューニングに備えられますか?
インデックス、クエリプラン、ジャーナルモード、外部キー検査、キャッシュ、整合性検査、ANALYZE、VACUUM は学びます。実負荷のベンチマーク、同時書き込み、アプリ接続管理、障害試験、本番監視は対象外です。


