SQL学習のためのエクステンションガイド
SQLはStructured Query Languageといい、RDBMS(リレーショナルデータベース管理システム)を操作するデータベース言語のことである。ちなみに、通称データベースといっているのは、正確にはRDBMのことを指している。リレーショナルというのは、基本的にひとつのデータベースの中に、ひとつのテーブルというのは存在せず、複数のテーブルで成り立っている。それらのテーブル同士を関係づけていることをいっている。たとえば、この商品のIDは、商品明細のIDを紐付けるというように成り立っているわけである。これをリレーションシップといい、データベースの設計で定義される。
Visual Studio CodeでSQLを学習するには、拡張機能をインストールする。ただし、あくまでも操作だけなので、データベースやテーブルを作ったとしても、テーブル同士のリレーションシップは定義できない。学習だけではなくデータベース設計からSQLまで本格的に取り組むならクライアントを使用するのが一番よい。クライアントで代表的なのが、MySQL Workbench(英語版)とDBeaver(日本語対応)である。前者はMySQLのみだが、後者はMariaDB、MySQL、PostgreSQL、SQL Serverなど、対応しているデータベスが多い。そのほかにはphpMyAdminがある。
今回の記事はVisual Studio CodeでSQLを学習したい人が対象である。そこにこだわらなければ、MySQL Workbench、DBeaver、phpMyAdminなどを使うといいだろう。場合によっては、ターミナルでMySQLを起動してもできるのである。
環境
- Linux mint 20.3 MATE Edition
- Visual Studio Code 1.66.2
- SQLTools MySQL/MariaDB Driver 0.2.0
エクステンションガイド
SQLTools
シンプルなデータベースの操作ができる拡張機能で、データベースの操作はすべてSQLを発行して行われる。マウスでワンクリックで操作するものではない。この拡張機能を選んだのもそのためである。
この拡張機能を使う前に接続ドライバーが必要となる。ドライバーは拡張機能として用意されているので、必要なものをインストールするといいだろう。サポートしているデータベースは、MySQL、MariaDBのほかにSQLite3、PostgreSQL、SQL Server/Azureである。
インストールはわかっているとは思うが、一応簡単に説明しておく。まず、Ctrl+Shift+Xを押して、拡張機能を開き、検索欄に「SQLTools」と入力する。該当する拡張機能が表示されたら、[インストール]をクリックしてインストールする。
使い方
使用する前の注意点は以下のとおり。
- MariaDB(MySQL)がインストールされている。XAMPPがインストールされていれば問題ない
- MariaDB(MySQL)がすでに起動している
- MariaDB(MySQL)のユーザー(root)のパスワードが設定されている
- 学習用データベース(books)が作成されている
いずれかのひとつでも該当しない場合は利用不可である。注意点がすべてクリアできているという前提でやっていく。
拡張機能のアイコンの下にSQLToolsアイコンが表示されているのでクリックして、[Add new connection]をクリック。接続するデータベースを選択する。
いくつか表示されているが、SQLTools MySQL/MariaDB Driver 0.2.0以外のドライバーをインストールしているだけなので気にしなくていい。
MariaDBまたはMySQLを選択して接続情報を入力する。
入力する項目は、項目名の後ろに*印がついているものだけでよい。わからない場合はデフォルトのままにしておく。Use Passwordは選択肢が3つあり、以下のとおりになっている。
・ Ask on connect ———- データベースに接続時にパスワードの入力を求められる(デフォルト)
・ Use empty password – パスワードを設定していない場合に選択する
・ Save password ———– 接続情報にパスワードが保存される
どれかを選択する。
記事の例では、次のように設定した。それ以外は、デフォルトのままにしている。
項目名 | 設定内容 |
Connection name | BooksDatabase |
Database | books |
Username | root |
Use password | Save password |
Password | ******* |
接続情報の入力が終わったら、少し下にスクロールさせて[TEST CONNECTION]をクリックする。問題がなければ「Successfully connected」が表示されるはずである。[SAVE CONNECTION]をクリックして、接続情報を保存する。
[CONNECTION NOW]をクリックしてbooksに接続する。
この画面でSQLを記述していくことになる。記述したSQLを発行するには、上に表示されている[Run on active connection]をクリックする。では、実際にテーブルを作成してみよう。テーブル名はtbl_bookとした。
フィールド名 | データ型 | Primary | Null |
id | int | Key | Not Null |
title | varchar(50) | Not Null | |
price | int | ||
publisher | varchar(50) | ||
isbn | varchar(17) | Not null |
CREATE TABLE books.tbl_book (
id int NOT NULL,
title varchar(100) NOT NULL,
price int,
publisher varchar(60),
isbn varchar(17) NOT NULL,
PRIMARY KEY(id)
);
上記のSQLを発行すると、無事にテーブルが作成されている。SQLの書き方は大文字でも小文字でも構わないが、フィールド名だけは大文字小文字が区別されるので注意が必要である。CTRL+Sを押して保存しておく。
データを登録してみよう。
INSERT INTO tbl_book(id, title, price, publisher, isbn) VALUES (1,'ちゃんとしたプロになるPHP基礎入門', 2500, 'エムディーエヌコーポレーション', '9784295201106');
INSERT INTO tbl_book(id, title, price, publisher, isbn) VALUES (2, 'いちばんよくわかるWebデザインの基本', 2400, 'SBクリエイト株式会社', '9784815609610');
INSERT INTO tbl_book(id, title, price, publisher, isbn) VALUES (3, 'Vue.js3超入門', 3200, '秀和システム', '9784798063737');
INSERT INTO tbl_book(id, title, price, publisher, isbn) VALUES (4, 'いちばんやさしいGit入門教室', 2180, '株式会社ソーテック', '9784800712452');
INSERT INTO tbl_book(id, title, price, publisher, isbn) VALUES (5, 'スッキリわかるJAVA入門第2版', 2600, '株式会社インプレス', '9784844336389');
手元にあった書籍を適当に選んだものである。実行すると、エラーが表示されるが、無視してよい。ちゃんと登録されている。なぜ、このエラーが表示されるのかわからない。ターミナルでMySQLを起動して、ひとつひとつ登録してみたが、問題が出なかった。調べてみたところ、拡張機能のバグのようである。
以上でVisual Studio CodeでSQL学習のためのエクステンションガイドを終わる。気に入らなければ、今回インストールした拡張機能をアンインストールして、他の拡張機能をインストールして試してみるのもいいだろう。