やさしい MySQL Workbench の使い方 for MacOS

# はじめに

MySQLをGUIベースで操作できるアプリ「MySQL Workbench」の導入から使い方までをやさしく解説していきます。
本記事ではMacOSを想定していますが、基本的なアプリの使い方は他OSでも同じだと思うので、適宜読み換えていただければと思います。

# 前提条件

MySQLがインストールされていること。
インストール方法は以下のサイトなどを参考にしてください。
[【超簡単】macへMySQLをインストール](https://qiita.com/dodomasaki/items/ad64bd86c116a7e875e8)

# 環境構築

公式サイトのダウンロードページから、各種OSに対応するものをダウンロードします。
（2019/4/11時点の最新バージョンは、「8.0.15」のようです）
https://dev.mysql.com/downloads/workbench/

会員登録の案内画面が出てきますが、「No thanks, just start my download.」のリンクをクリックすれば、会員登録しなくてもダウンロードできます。
ダウンロード後、「mysql-workbench-community-8.0.15-macos-x86_64.dmg」を開き、そのまま「アプリケーション」にドラッグすればインストール完了です。

<img width="882" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/83e534da-2c1b-ad77-9a60-420684f50b02.png">

# 機能一覧

以下にアプリの機能を紹介していきます。
他にあれば随時更新していきます。

## MySQLサーバへの接続

ターミナルで、事前に以下のコマンドを入力し、ローカルのMySQLサーバを起動しておきます。

```
$ mysql.server start
```

初期画面にて、「MySQL Connections」の隣にあるプラスボタン（以下画像参照）をクリックします。

<img width="1552" alt="2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/f1992d31-d5ab-e99a-6ff4-14ff9d2607f4.png">

Connection Nameを入力（今回はlocalhostとします）し、他の情報はデフォルトのままにしておきます。

<img width="912" alt="3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/31012588-21a8-a050-0194-70562e7793d7.png">

これで接続情報の作成は完了です。
次回以降、この接続情報を選択することで、すぐにMySQLサーバへ接続することができます。

<img width="1552" alt="4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/9cd22abb-5328-5910-785c-1bce0c3a2626.png">

先ほど作成した接続情報を選択すると、以下のようにパスワードが要求されるので、パスワードを入力します。

<img width="524" alt="5.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/a03febd1-561c-9500-4da5-933f8b3771b6.png">

パスワードが合っていれば、MySQLサーバへの接続が完了します。
これでMySQLサーバへの接続は完了です。

## データベース（Schema）の新規作成

画面上部に並んでいるボタンのうち、左から4番目のボタン（以下画像参照）をクリックします。

<img width="1552" alt="6.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/becca2f1-c082-677e-1315-d50458bcaa6e.png">

Schema Editorの画面が開きます。
Schema Nameを入力（今回はtest）を入力し、そのまま「Apply」をクリックします。

<img width="1552" alt="7.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/98207c4c-7b0e-bd5d-6fdb-3d7d6b8bd99b.png">

レビュー画面として、実行されるSQL文が表示されます。
問題なければ、そのまま「Apply」をクリックします。

<img width="1012" alt="8.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/acfc9f99-3dd7-a404-6941-96bd68c2e515.png">

正常にSQL文が実行された旨の画面が表示されます。
そのまま「Close」をクリックします。

<img width="1012" alt="9.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/310abe27-a721-3b8e-98dc-3e366a9b538c.png">

タブ「Schemas」を確認すると、先ほど作成したデータベース「test」が表示されていることが確認できます。

<img width="1552" alt="10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/6c2d0873-8971-5f27-20dc-c3f400756308.png">

これでデータベースの作成は完了です。

## テーブルの新規作成

画面上部に並んでいるボタンのうち、左から5番目のボタン（以下画像参照）をクリックします。

<img width="1552" alt="11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/e19224fb-b770-ffa5-ddd1-a17449590e71.png">

テーブルの作成画面が表示されるので、Name（今回はadachi_menu）、Column、Datatypeなど、各情報を入力していきます。
ここで、上部パネルに表示されている各略称の意味は以下の通りです。

| 略称 | 意味 |
|--:|--:|
| PK | Primary Key |
| NN | Not NULL |
| UQ | Unique |
| BIN | Binary |
| UN | Unsigned |
| ZF | ZeroFill |
| AI | Auto Increment |
| G | Generated |

<img width="1552" alt="12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/86d2c0f6-418b-1af9-c8db-bbc989f5aa97.png">

レビュー画面として、実行されるSQL文が表示されます。
問題なければ、そのまま「Apply」をクリックします。

<img width="1012" alt="13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/5c42ecad-0c0d-8e03-e911-3a30db4162ea.png">

正常にSQL文が実行された旨の画面が表示されます。
そのまま「Close」をクリックします。

<img width="1012" alt="14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/d8186178-2868-c72d-2453-08851cac0044.png">

タブ「Schemas」を確認すると、先ほど作成したテーブル「adachi_menu」が表示されていることが確認できます。

<img width="1552" alt="15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/5a0621ad-55d8-b356-1633-392a246ea684.png">

これでテーブルの作成は完了です。

## SQLの実行

タブ「Query1」を開き、以下のようにSQLを入力します。
そして、SQL入力欄の上側にあるボタンのうち、左から3番目（以下画像参照）をクリックします。

<img width="1552" alt="16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/1be8817d-9360-8959-463b-3f76521f0884.png">

画面下部に、実行結果が表示されます。
正常に実行された場合、左側に緑丸が表示されます。

<img width="1552" alt="17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/fed256c5-3e52-4c7b-fb1a-53b61e6544e6.png">

## 文法は合っているのにSQLが実行されない場合

UPDATE文やDELETE文を実行した際、文法は合っているのにSQLが実行されない場合があります。
その場合、メニューバーから、「MySQLWorkbench」→「Preferences」→「SQL Editor」を選択し、画面一番下にある、「Safe Updates (rejects UPDATEs and DELETEs with no restrictions)」のチェックを外し、アプリを再起動してください。
再起動後、正常に実行されるはずです。

<img width="912" alt="18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93963/043c4c61-e97c-6b01-ece1-4b53515944a2.png">