MySQLを使ったSQLや実行計画を学習するためのリポジトリです。
Github
のCodespace
を利用します。Codespace
は設定によってはコストがかかるものなので Codespaceの利用上の注意 はよく確認してください。- コストをかけないためにも、セキュリティの意味でも、使い終わったら 停止方法 に従って停止することを推奨します。
- パスワードは各自考えてください。また、間違えてメモなどをコミットしないように気を付けてください。
※ ローカルでdocker-compose.yml
を起動する場合は.env
ファイルのユーザーIDとパスワードを設定してから、起動してください。
ここではCodespaces
で起動する方法を記載しています。
- このリポジトリをフォークするため、右上の
fork
をクリックする
Create fork
ボタンをクリックして、フォーク(自分のアカウントにコピーして新しいリポジトリを作成)します。
.env.sample
の内容を設定するために、Settings
タブ を開きます。
- 左のメニューから
Secrets and variables
>Codespaces
を開きます。
new repository Secrets
ボタンをクリックして、シークレットを設定します。
Name
にMYSQL_ROOT_PASSWORD
と入力して、Secret
に適当なパスワードを入力します(後ほど使いますのでメモしてください)。
- シークレットの設定が完了したら以下の画像のようになります。
- シークレット完了後、
Codespace
を起動するため、Code
タブに移動し、右上にある緑色のcode
のプルダウンメニューを開き、Codespace
タブを開き、Create codespace on main
をクリックします。 Codespace
の生成にはしばらく時間がかかるため、しばらく待ちます。
VSCode
が起動しますが、画面左下がリモートを開いています...
の間は待ちます。
- 画面左下が
Codespace
になった場合は、Codespace
が起動完了しました。
MySQL
に接続するため、右側の筒状のアイコンをクリックしてCreate connection
をクリックします。(もし、Create connection
をクリックしても反応が無い場合は、Webブラウザをリロードしてみてください)
- 画面中央に接続設定が表示されるので
Name
にmysql
、Host
にmysql
、database
にmydatabase
、Username
にroot
と入力する。Password
にSecret
のMYSQL_ROOT_PASSWORD
に設定した値を入力します。
- パスワードなどの入力欄の下にある
+connect
ボタンをクリックして接続確認を行います。接続に成功した場合は画面上部にSuccess!
が表示されることを確認します
Save
をクリックして接続情報を保存すると、左のパネルに先ほどName
で指定した名前で接続情報が保存されます。
Query
の+
をクリックして適当な名前を付けてクエリの実行ファイルを生成します。
- 生成したクエリのファイルに適当なSQLを記述してSQLの上部に出てくる
Run
をクリックするとSQLを実行できます。
Code
タブに移動し、右上にある緑色のcode
のプルダウンメニューを開き、Codespace
タブを開き、Active
の右側にある三点リーダー(・・・)をクリックしてDelete
をクリックします。
- 確認ダイアログが表示されるので
Delete
をクリックします。
erDiagram
SCHOOLS ||--o{ STUDENTS : ""
STUDENTS ||--o{ SCORES : ""
STUDENTS ||--o{ CLUBS : ""
SCHOOLS {
string 学校ID PK
string 学校所在地
string 地区
string 学校名
}
STUDENTS {
string 学籍番号 PK
string 名前
string 性別
string 住所
int 学年
string クラス
string 担任
date 入学年月日
string 学校ID FK
}
SCORES {
string 学籍番号 PK,FK
string 科目 PK
int 点数
}
CLUBS {
string ID PK
string 学籍番号 FK
string 部活
}
- アカウントの種類が個人であり、クレジットカードを登録していない想定です。この条件であれば上限を超過すると使えなくなるだけです。
GitHub には以下のアカウント種別があります。
- 個人アカウント (Personal Account)
- Free プラン → 無料枠あり(課金なしで利用可能)
- Pro プラン → 無料枠あり、超過すると課金(クレカ登録が必要)
- Organization アカウント
- Free プランでも、Codespaces は「請求先 Organization」として扱われるため、課金が発生する可能性あり
- Enterprise アカウント
- 完全に請求が発生する契約ベース。無料利用は不可
課金を避けたい場合は、必ず「個人アカウント」かつ「Free プラン」で利用する
- GitHub の右上プロフィールアイコンをクリックして Settings をクリックする
- 左メニューの Billing and licensing をクリックして、Licensingをクリックして開く
- Current GitHub base planが以下になっていることを確認
Github Free
であること(Pro / Team / Enterprise ではないこと)
- 次にLicensingの下にPayment informationがあるのでクリックして、Payment information が 未登録(未入力) であることを確認
個人アカウント + Free プラン + クレカ未登録 → 無料枠を超えると「使えなくなるだけ」で課金なし
- 120 core-hours / 月
- 例:2 cores × 60 時間 = 無料枠いっぱい
- 15 GB-month のストレージ
- 不要な Codespace は削除して節約する
- 一定時間操作がなければ Codespace を自動で休止(suspend)状態にする機能
- suspend 中は CPU 時間が消費されず課金対象外
- 再開時は数十秒〜数分で復帰
- 「閉じ忘れで無料枠を消費し続ける事故」を防止できる
- GitHub の右上プロフィールアイコン → Settings → Codespaces → Default idle timeout
- 「Idle timeout」を設定(例:30 分 / 1 時間)
- 個別 Codespace ごとに「… → Manage → Idle timeout」で調整も可能