Docker Composeで構築するPostgreSQL + SQLPadのSQL学習環境です。 ブラウザからSQLPadにアクセスし、サンプルデータに対してSQLを実行できます。
PostgreSQLにサンプルデータ(従業員・部門・商品・在庫・注文)を投入済みの状態で起動し、SQLPad(WebベースのSQLクライアント)から操作できる環境です。
- Docker Composeで一発起動
- 5つのテーブルに初期データ投入済み
- SQLPadにサンプルクエリがプリセットされている
| テーブル | 内容 | 主なカラム |
|---|---|---|
| employees | 従業員 | employee_id, first_name, last_name, email, department_id, hire_date, salary |
| departments | 部門 | department_id, department_name, location |
| products | 商品 | product_id, product_name, category, unit_price |
| inventory | 在庫 | inventory_id, product_id, quantity_in_stock |
| orders | 注文 | order_id, customer_name, product_id, quantity, order_date, total_amount |
SQL/
├── docker-compose.yml # Docker Compose設定(PostgreSQL + SQLPad)
├── postgres/
│ ├── Dockerfile # PostgreSQLイメージ設定
│ ├── initdb/
│ │ └── init.sql # テーブル作成 + CSVインポート
│ └── csv/
│ ├── employees.csv # 従業員データ
│ ├── departments.csv # 部門データ
│ ├── products.csv # 商品データ
│ ├── inventory.csv # 在庫データ
│ └── orders.csv # 注文データ
├── seed-data/
│ ├── connections/
│ │ └── connection1.json # SQLPad → PostgreSQL接続設定
│ └── queries/
│ ├── query1-1.json 〜 # プリセットクエリ(基礎〜応用)
│ └── queryQ-*.json # 練習問題クエリ
└── README.md
- Docker
- Docker Compose
git clone https://github.com/tcf775/SQL.git
cd SQL
docker compose up -dブラウザで http://localhost:3000 にアクセスしてSQLPadを開く。
docker compose downdocker compose down -v # ボリュームも削除
docker compose up -d # 再起動でinit.sqlが再実行されるpostgres/csv/にCSVファイルを追加postgres/initdb/init.sqlにCREATE TABLE文とCOPY文を追加docker compose down -v && docker compose up -dで再構築