MySQL Workbenchを使ってスキーマとテーブルを作る

#バージョン
|MySQL Workbench|
|:---:|
|Version: 8.0.25|



#インスタンスを選択
好きなインスタンス(Connections)を選んでください。

![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/e42d6a42-3b58-4d2f-9458-0082f2d808be.jpeg)

#スキーマ（schema）を作成
![2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/8c1136a4-562d-19a6-0a82-0dcefd902427.jpeg)


+ **[create a new schema]**というボタンをクリック
+ **Name**には、登録したいスキーマの名前を入力
+ **charset（文字セット）/collation（デフォルトの照合順序）**には、utf8/utf8_general_ci を選択
+ **Apply**で確定


[データベース名設定時の「utf8 / utf8_general_ci」とは？ ](http://lovee7.blog.fc2.com/blog-entry-45.html)

※もし、同じ名前のスキーマを作ろうとするとエラーになります。
左のSCHEMASを見て、同じ名前がないか確認してください。

![3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/cd43d9e3-3d2e-56ce-88be-1eb71bcaad64.jpeg)

![4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/11254268-8ca9-019c-4b0d-dfc0cd63275c.jpeg)

 **Apply**で確定します。
これで、スキーマができました。


#テーブルを作成

![5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/21a52205-c0bb-d22c-aa30-93a5716411f9.jpeg)
先ほど作った**userスキーマ**の**Tables**を右クリックし、**Create Table**を押します。

![6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/bb7b82a4-eb65-2f8b-313b-77b86dce7612.jpeg)

+ **Table Name** テーブルの名前を入力
+ **charset/collation**　utf8/utf8_general_ciを選択
+ **Engine** InnoDBを選択

>**InnoDB**
行ロックとトランザクションをサポートする(現在の標準)
[MySQLのストレージエンジンについて](https://qiita.com/ishishow/items/280a9d049b8f7bcbc14a)

+ **Column Name** 追加したいデータの名前を入力
+ **Datatype** データの型を入力
+ 必要であれば**PK/NN/UQ/B/UN/ZF/AI/G** を入力

[MySQLのテーブルのカラムに設定できるオプション](https://4geek.net/options-about-mysql-table-columns/)

+ **Apply**で確定

![7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/ae1ccdd9-fea3-e11d-48dd-da2c2577558c.jpeg)

これで、テーブルができました。

##テーブルにデータを作成
![8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/2e2da43e-b4f4-2687-78b4-1f2012044731.jpeg)
テーブルにカーソルをあわせるとアイコンが現れます。
一番右のアイコンを押します。

![9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/d6884bd3-6829-165a-d9e7-77d4d9ff8c79.jpeg)

+ **From Editor**　を押す
+ **id,name** を入力
+ **Apply**で確定
 
![10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/380f569d-423a-c91d-928f-0ae2b67ad991.jpeg)

データを追加できました。


![12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/6082e63a-7702-9eb6-8745-0bb93cea717f.jpeg)
さらにデータを追加するときは、このボタンを押します。

#データを確認する
##Result Grid
Result Gridから、データが確認できます。
![13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/f11d6f67-9d7b-af03-9863-cf5061fd968f.jpeg)

##SQL
SQL文を使って、データを確認します。

![14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/305ed66e-4294-6f0b-2100-2af7fb730b83.jpeg)

```.sql
SELECT * FROM user.user;
--userスキーマのuserテーブルから全て(*)を取得します。
```
###特定のデータを取得する

![15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1832699/b6877dd4-4c48-ea17-9798-e90eedf5e77e.jpeg)

```.sql
SELECT name FROM user.user;
```
nameだけ取得できました。
SQL文を変えれば、いろんな条件でデータを取得できます。
[【これだけ覚えてたらOK！】SQL構文まとめ](https://qiita.com/tatsuya4150/items/69c2c9d318e5b93e6ccd)

#参考HP
http://lovee7.blog.fc2.com/blog-entry-45.html
https://www.granfairs.com/blog/staff/mysql-workbench-01
https://qiita.com/ishishow/items/280a9d049b8f7bcbc14a
https://proengineer.internous.co.jp/content/columnfeature/6605#section100
https://juncleit.com/?p=368
https://medium-company.com/mysql-workbench%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%9C%E6%88%90/