SQL 初級編 Vol.1（SQLとは？+ MySQLインストール+DBeaver インストール）

# はじめに
データベース初心者がデータベースエンジニアを目指してSQLについて１から学んでいきます。自分の勉強内容のアウトプットとして書いていくのと、何か１つでも皆さんの勉強の助けになれば幸いです。この記事シリーズではNoSQLなどは扱いません。

# SQLとは
SQLは「Structured Query Language」の略で、日本語で訳すと「構造化されたクエリ（照会）言語」でしょうか。SQLは主にRDBMS（Relational DataBase Management System）に対してデータ操作を行うためのプログラミング言語です。Wikipediaにも記載がありますが日本語だと「エスキューエル」と発音しますが、外人は「シークル」と発音します。システムとして組み上げるケースでは他のプログラミング言語と組み合わせて使用して、Webアプリケーションからデータベースのデータを参照したり、データを追記したりして使われます。

SQLというプログラミング言語はANSI/ISOが標準化（最新はSQL2016）しており一度学べば多くのデータベースで利用できます。一方で、各ベンダーがデータベース毎に独自の拡張をしていたり、標準として採用してるSQLが違うなど若干の実装の差異があるのも事実です。これは「データベースの方言だー」とか現場でもでてくる話題です。

SQLの標準化については節目があり、特にSQL92(1992年リリース）は別名 __SQL2__ と呼ばれ、DML、DDL、DCLが定義されました。SQL99（1999年リリース）では別名 __SQL3__ と呼ばれ、リカーシブルクエリやOLAP対応、ユニオン、カーソル操作の強化などSQLがRDBMSのための完全な言語になることを目指した規格とのことです。SQL92とSQL99が大きな節目となっているとのことです。（参考サイト：[こちら](https://style.potepan.com/articles/16733.html#:~:text=%E3%82%B1%E3%83%BC%E3%82%B9%E3%82%82%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82-,SQL%E3%81%AE%E8%A6%8F%E6%A0%BC%E3%80%81%E6%9C%80%E6%96%B0%E3%81%AFSQL%3A2016,%E6%A8%99%E6%BA%96SQL%E3%81%AFSQL%3A2016%E3%80%82) ）

# MySQLをインストールする
早速データベースをインストールしていきましょう。データベース（RDBMS）と言っても商用だとのOracle DB, Microsoft SQL Server(MSSQL)、OSS（Open Source Software）だとMySQL, PostgreSQL などが様々なものが存在しています。この記事では無償で使えるOSSのMySQLを使っていきます。

M1 Macbook Airを使っているのでここからの操作はMacを前提で記載していきます。

##### 1. MySQLをダウンロードする
以下のサイトからOSやCPUアーキテクチャを選択してMySQLのインストーラーをダウンロードします。私の場合はM1 MacなのでARM 64bitになります（通常はx86 64bitの方が多いかと思います）。
https://dev.mysql.com/downloads/mysql/
![スクリーンショット 0004-06-10 10.00.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/177bd7d2-c483-cf53-ad68-2af063fe02c7.png)
[Download]ボタンを押すと以下のサイトに遷移してLoginやSign Upが必要に見えますが、下部にある「No thanks, just start my download」 をクリックすれば登録なしでダウンロードができます。
![スクリーンショット 0004-06-10 10.03.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/0ea16dce-c196-f353-c549-3e52ccb8928a.png)

##### 2. MySQLをインストールする
ダウンロードされたインストーラーをダブルクリックして、インストールウィザードを起動しインストールします。インストールが完了すると管理者権限「root」パスワード設定を行うので忘れないように設定します（このあと使います）。
![スクリーンショット 0004-06-10 10.08.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/fd3c8673-b665-99f8-4df5-2ed4b6dd9a2d.png)

# SQLクライアント（DBeaver）をインストール・設定する
DBに接続してSQLを実行するのにSQLクライアントソフトウェアをインストールします。今回はOSSで開発も活発なDBeaverをインストールします。DBeaverは様々なDBに対応しており、簡単にいろんなDBに接続してSQLクエリーを実行することができます。

##### 1. DBeaver をダウンロードする
以下のサイトからDBeaverのインストーラーをダウンロードしてインストールします。
https://dbeaver.io/
![スクリーンショット 2022-06-10 21.25.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/aa54b879-322c-b310-0a52-116cb73ef95f.png)
##### 2. DBeaver からMySQLへ接続する
次にDBeaverからMySQLへ接続します。DBeaverのアプリケーションを起動したら、以下のようなサンプルデータベースを作成するか聞かれますがすでにMySQLをインストール済みなので「いいえ」を選択します。
![スクリーンショット 2022-06-10 21.30.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/a5dece25-14f9-d33e-e569-9df3d92c2aaf.png)
次にこちらの接続ウィザードでMySQLをアイコンをクリックします。
![スクリーンショット 2022-06-10 21.28.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/7706b6fa-8e75-285a-a0b3-16151361bdf8.png)
以下の画面で先程設定したrootのパスワードを入力します。次に「ドライバのプロパティ」のタブをクリックすると、DBへ接続されるドライバのダウンロード画面になるので画面に従ってインストールしてください。ドライバのダウンロードとインストールが終わったら改めてドライバのプロパティの画面に移動します。
![スクリーンショット 2022-06-10 21.28.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/46a74b27-8174-c2fa-5eaf-2e5efeb1870d.png)
こちらのドライバのプロパティの画面で「allowPublicKeyRetrieval」の設定をFALSEからTRUEへ変更、「useSSH」の設定をTRUEからFALSEへそれぞれ変更します（変更なしでもテスト接続がうまくいく場合は設定不要です）。allowPublicKeyRetrievalとuseSSLの設定は、ローカルにMySQLをインストールしてDBeaverから接続する際に発生するエラーを回避するための設定です。暗号化なしにパスワード設定を許可するもののようなので、本番環境での利用ではなくテストでの利用の際のみ使用するのがよさそうです。
![スクリーンショット 2022-06-10 21.29.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/261fbb97-ca45-c1ba-361b-f4b9645e9246.png)
![スクリーンショット 2022-06-10 21.32.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/56ea8d62-4fde-c217-48df-6dfc1063f882.png)
設定が完了したら、一般タブにもどって「テスト接続」をして問題なければ接続完了です。
![スクリーンショット 2022-06-10 21.32.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/8e669128-22f1-c5c6-da61-86b28f2868aa.png)
無事に接続が完了すると以下のようにLocalhostのMySQLに接続されていることがわかります。
![スクリーンショット 2022-06-10 21.32.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/0718241e-6369-4330-86da-cb727a657176.png)
ウィンドウの「SQL」ボタンの▼をクリックして「新しいSQLエディタ」を開きましょう。
![スクリーンショット 2022-06-10 21.32.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/865a8d4a-dbed-db42-1e54-7d0932aaf2de.png)
右側のウィンドウでSQLコマンドを入力できます。
![スクリーンショット 2022-06-10 21.33.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/961164/5b900d5a-0ce1-8f0c-798f-ec535118f4be.png)

# まとめ
今回はSQLとはなにか？、そしてMySQLのインストール方法、DBクライアントであるDBeaverのインストールを実施してきました。これでSQLコマンドを実行する準備が完了しました。次回から実際のSQLコマンドについて学んでいきたいと思います。