189
208

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQL Workbenchの使い方を画像付きで解説する

Posted at

#この記事について
MySQLをGUIでわかりやすく操作するツールがMySQL Workbenchです。
ですがこのツールは日本語化されておらず、ツールバーやボタンの説明が全て英語なので、使い慣れていないとなかなか直感的に操作することが難しいかな……という印象です。
この記事では、クエリを実行する・explainを実行するといった超基本的な操作について、Workbench上でどう行えばいいか、スクリーンショットを用いて解説します。

##使用する環境・バージョン

  • OS : MacOS Mojave ver 10.14.5
  • MySQL : Ver 8.0.18 for osx10.14 on x86_64 (Homebrew)
  • MySQL Workbench : Version 8.0.18

##前提条件

  • MySQLとWorkbenchのインストールは完了済み
  • localhostのDBにrootユーザーで接続できる状態にすでになっているとする

##読者に要求する前提知識

  • ターミナルで問題なくコマンド実行ができること
  • 基本的なクエリが書けること
  • 基本的なDB用語の意味がわかること

#主要操作

DB接続

1.MySQL Workbenchを起動

MySQL Workbenchを初めて起動すると、以下のような画面になります。
start1.png
MySQL Connectionsという文字の右側にある+ボタンを押して、接続するDBを選びます。

DBの登録

+ボタンを押したらこのような画面になります。
start2.png
今回はlocalhostDBにrootユーザーで接続することにするので、フォームに以下のように入力します。

  • HostName : localhostのIP(デフォルトでフォームに入力されているはず)
  • Port : MySQLのデフォルトポートである3306番(デフォルトでフォームに入力されているはず)
  • UserName : root(デフォルトでフォームに入力されているはず)
  • Connection Name : 識別しやすい適当な名前でいいです。上図ではlocalhost

これで右下のOKボタンを押すと、以下の画面に遷移します。
start3.png
MySQL Connectionsの下に、先ほどlocalhostと名前をつけたコネクションが表示されています。

3.MySQLサーバーの起動

DBに接続する前に、DBサーバーを起動しなければなりません。
ターミナルを開いて、以下のコマンドを打ちます。

$ mysql.server start
Starting MySQL
. SUCCESS! 

4.DBへ接続

サーバーが起動できたら、MySQL Connectionsの下にあるlocalhostをクリックします。
start3.png
すると、rootユーザーでDBに入るためのパスワードが要求されるので、もともと設定してあるPWを入力、OKボタンをクリックします。
start4.png
以下の操作画面になれば接続は成功です。
start5.png

##外部ファイル読み込み
MySQLの公式ページからダウンロードしたテストデータをlocalhostのDBに入れます。
メニューバーのServerからData Importを選択します。
import1.png
開いたタブのImport Optionsで、Import from Self-Contained Fileを選択し、その隣のテキストフォームに公式ページから落としたテストデータのsqlファイルのパスを指定します。
import2.png
また、Default Schema to be Imported Toのタブで、データを入れるスキーマを指定します。
Default Target Schemaの右にあるNewボタンを押して、新しくworldスキーマを作成・指定します。
スクリーンショット 2020-01-24 21.44.37.png
Import Progressのタブを開いて、右下のStart Importボタンを押すと、worldスキーマに3つのデータ入りテーブルが作成されます。
import3.png

##デフォルトスキーマの変更
上で作成したworldスキーマ上でクエリを実行するためには、worldスキーマをデフォルトスキーマに指定する必要があります。
指定するためには、左のnavigatorタブにあるworldスキーマを右クリックして、Set as Default Schemaを選択します。
スクリーンショット 2020-01-24 21.52.41.png
ちなみに、現在のデフォルトスキーマは太文字で表示されています。
スクリーンショット 2020-02-01 16.36.31.png

##外部ファイルの表示
外部のsqlファイルの中身を表示したいときには、一番左のファイルアイコンを押します。
スクリーンショット 2020-01-25 15.04.04.png
すると、ファイル選択画面が表示されるので、見たいファイルを選択して右下Openボタンを押します。
スクリーンショット 2020-01-25 15.07.52.png
無事に選択したworld.sqlの中身が表示されます。

また、上タブの左から二番目(フォルダ+ボタン)を押しても同様の手順で外部ファイルを表示させることができます。
スクリーンショット 2020-01-25 15.40.00.png

##ファイル内検索/文字列置換
ファイル内検索/文字列置換を行うためには、右側の虫眼鏡アイコンを押します。
1.png

###検索
ファイル内検索を行うためには、左のFindタブを選択し、検索窓に探したい文字列を入力します。
2.png

すると、ヒットした箇所がカーソル選択されます。複数箇所見つかっているときは、検索窓の左にある矢印ボタンで移動することができます。
(Doneボタンを押すと検索窓が閉じてしまうので注意)

###文字列置換
ファイル内検索を行うためには、左のReplaceタブを選択し、検索窓上に置換したい文字列、検索窓下に置換後の文字列を入力します。
スクリーンショット 2020-01-25 15.17.04.png

##新規ファイル作成
一番左のファイル+アイコンを押すことで、新しいタブ(ここではSQL File 3)が開きそこでファイルの中身を編集することができます。
スクリーンショット 2020-01-25 15.44.35.png

##ファイルの保存
ファイルを保存したいときは、フロッピーディスクのアイコンを押すことで保存動作に入れます。
スクリーンショット 2020-01-25 15.55.20.png

##新規スキーマの作成
DBの絵に+が載っているアイコンをクリックすることで、新しいスキーマを作成する画面を出すことができます。
1.png
applyを押すと、これから実行する動作がSQL文ベースで表示されます。所望の動作ならば、下のApplyを押すことでそれが実行されます。
2.png

##クエリの実行

通常のクエリ実行

書いたクエリ文を実行するためには、赤丸の中の稲妻アイコンを押します。
1.png
すると、書いてある通りcityテーブルの全てのデータが画面下部に表示されます。
2.png

クエリの一部を実行

クエリ文の中で一部を実行したいという場合があることがあります。
例えば、下の例だと、カーソルで選択してあるcountryテーブルの全取得だけを実行したいという場合です。
その場合、真ん中の稲妻+カーソルアイコンを押します。
3.png
すると、他のselect文が無視されて、カーソル指定した分だけが実行・結果が表示されます。
4.png

##explainの実行
###visual explain
explainを使い、クエリがどのように実行・検索されているのかを調べます。
調べたいクエリ文をexplainを使わずにそのまま書き、一番右側の稲妻+虫眼鏡アイコンを押します。
5.png
すると、クエリの実行中にテーブルにどのようにアクセスされているのかが図示されます。
今回の場合、テーブル中の全データを取得するためにfull scanが行われていることがわかります。

###tabular explain
ターミナルでexplainを実行したときのような表が欲しい場合は、プルダウンメニューをVisual ExplainからTabular Explainに変更すればいつものあの表が見られます。
スクリーンショット 2020-01-25 19.43.09.png

##Viewの確認
Viewというのは、定義した構文をもとに実体のない仮テーブルを作成する機能です。つまり、あらかじめ書いておいたselect文をテーブルのように残しておくことができます。

###定義の確認
あるviewがどのようなselect文で定義されていたのかを確認するためには、view名の右側にあるレンチボタンを押します。
1.png
すると、タブの中にview定義文が表示されます。

###中身の確認
viewテーブルが実際どんなデータが入っているのか表形式で確認したいときは、一番右側の稲妻ボタンを押します。
2.png
すると、viewデータの全取得のクエリ文が表示・実行されます。

#ちょっと便利な機能
##特殊文字の可視化
空白・改行・タブなどの特殊文字を、右から二番目のボタンを押すことで可視化させることができます。
スクリーンショット 2020-01-25 15.26.50.png

##窓端での折り返し
ファイル表示窓からはみ出る文をちょうどよく折り返して表示させるには、一番右側のボタンを押します。
スクリーンショット 2020-01-25 15.34.16.png

##綺麗なコードに変換
右上のほうきボタンを押すことで、クエリ文をある程度整ったフォーマットに直してくれます。
1.png
例えば、上のコードに対して使ってみます。
スクリーンショット 2020-01-25 15.50.18.png
すると、改行や小文字→大文字などの変換を勝手にしてくれます。

189
208
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
189
208

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?