🐋
『達人に学ぶSQL 徹底指南書』の環境をDockerとMySQLで構築する
はじめに
『達人に学ぶ SQL 徹底指南書』で SQL を学習するにあたり Docker + MySQL で環境構築をしたので、記事として残します。
この手の書籍を読むときは実際にコードを入力しないとただただ読み流してしまうので、ぜひコマンドを入力しながら学習を進めてみましょう!
対象とする読者は以下の方です。
- 上記書籍を実際にコマンドを打ちながら学習したい方
- 手っ取り早く DB の操作をできる環境が欲しい方
筆者の環境
- Intel Mac
- macOS Ventura v13.3.1
リポジトリ
docker-compose.yml
version: "3.1"
services:
db
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
container_name: tatsujin-sql
restart: always
volumes:
- db_data:/var/lib/mysql
- ./sql:/home/sql
- ./my.cnf:/etc/mysql/my.cnf
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: tatsujin
volumes:
db_data: {}
MySQL の公式イメージに記載されている例を少し変更して利用しました。
sql ファイルは『達人に学ぶ SQL 徹底指南書』サポートページからコピーして sql ディレクトリに配置しています。
このディレクトリに sql ファイルを追加することで、同著者の書籍「SQL ゼロからはじめるデータベース操作」の学習にも使えると思います。
手順
- コンテナ起動
$ docker compose up
- コンテナに接続
$ docker exec -it tatsujin-sql bin/bash
- MySQL に接続
$ mysql -u root --password=password
- データベース選択
USE DATABASE tatsujin;
- データ投入(以下は 1-1 のファイルの例)
source /home/sql/1-1.sql
ついでに(SQL クライアントのセットアップ)
データベースの操作をするときは SQL クライアントを使用すると便利です。
MySQL Workbench などが有名ですが、今回 DBeaver を初めて使ってみました。
- ダウンロード
公式 HP からダウンロード。
学習用途であれば、無料のコミュニティ版で十分です。
-
起動後、新しい接続先の作成から MySQL を選択する。
-
接続先情報を入力
今回の場合、password は「password」
ポート番号はデフォルトの 3306 で OK。テスト接続をしようとすると、ドライバのダウンロードが必要だった。
-
接続完了!
データの取得ができました。
さいごに
これから SQL を学習する方の参考になれば幸いです。
Discussion