目次
クエリ(query/queries)とは?
クエリとは、SQLを実行した際にデータベースへ送るための命令文のことです。
「SQLと何が違うの?」と思うかもしれません。
SQLは、データベースを操作するための言語を指します。
例えば、会社の社員情報が登録されているテーブルがあり「ユーザーIDが201のデータを取り出す」などの命令文を出すのがクエリです。
このクエリをSQLで書くと次の通りです。
SELECT * FROM employer WHERE user_id = 201;
- クエリ:SQLを実行した際にデータベースへ送るための命令文
- SQL:データベースを操作するための言語
SQL Queriesのサンプル(example)
ここでは簡単なSQLクエリを使って、実際にデータベースを操作してみましょう。
まだデータベースをインストールしていない場合は、「MySQL」や「PostgreSQL」などのオープンソースデータベースをインストールしてみてください。
それぞれの詳しいインストール方法は、次の記事で解説しています。
では、データベースを操作するために次のステップで操作を進めてみます。
- データベースの作成
- テーブルの作成
- データの挿入
- データ一覧の確認
- データの変更
ここではMySQLを使って上記の操作方法をみていきます。
データベースの作成
それではデータベースを作成してみましょう。
MySQLを起動した状態で次のSQLクエリを入力します。
CREATE DATABASE sample_db;
これで「sample_db」というデータベースの作成が完了しました。
作成したデータベースを確認するには、次のSQLクエリを入力しましょう。
SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mydb | | mysql | | performance_schema | | sample_db | | sys | +--------------------+ 6 rows in set (0.00 sec)
テーブルの作成
次は、先ほど作成したsample_dbにテーブルを作成します。
ここではid、name、ageカラムをもつsample_tableを作成してみましょう。
テーブルを作成するには、次のSQLクエリを入力します。
CREATE TABLE sample_table(id int, name varchar(10), age int);
CREATE TABLEの後ろに作成したいテーブル名を記述し、()内に追加したいカラム名とカラムの型を宣言します。
これでテーブル作成はOKです。
データベースのように、次のSQLクエリで作成したテーブルを確認できます。
SHOW tables; +---------------------+ | Tables_in_sample_db | +---------------------+ | sample_table | +---------------------+ 1 row in set (0.00 sec)
データの挿入
作成したテーブルにデータを挿入してみましょう。
データを挿入するには次のSQLクエリを入力します。
INSERT INTO sample_table VALUES (101, 'Kaneko', 28);
これでテーブルにデータを挿入できました。
同じようにいくつかデータを挿入してみましょう。
INSERT INTO sample_table VALUES (102, 'Tanaka', 17); INSERT INTO sample_table VALUES (103, 'Sasaki', 35);
データ一覧の確認
では挿入したデータの一覧を確認してみましょう。
次のSQLクエリでテーブルの中身を確認できます。
SELECT * FROM sample_table; +------+--------+------+ | id | name | age | +------+--------+------+ | 101 | Kaneko | 28 | | 102 | Tanaka | 17 | | 103 | Sasaki | 35 | +------+--------+------+ 3 rows in set (0.00 sec)
ちゃんとデータの挿入ができていますね。
データの変更
最後に、挿入したデータを変更してみましょう。
データを更新するにはUPDATEを使います。
ここでは、idが102のTanaka、17を変更してみます。
UPDATE sample_table SET name = "Hoshino", age = 46 WHERE id = 102;
テーブルを確認すると、データが更新されているのがわかります。
SELECT * FROM sample_table; +------+---------+------+ | id | name | age | +------+---------+------+ | 101 | Kaneko | 28 | | 102 | Hoshino | 46 | | 103 | Sasaki | 35 | +------+---------+------+ 3 rows in set (0.00 sec)
SQLの疑問を解決「SQL Queries for Interviews / SQL Query Interview Questions and Answers」
「SQLの基本的な使い方から応用的な使い方をサクッと知りたい」
こんな人は”SQL Queries for Interviews”をチェックしてみるといいかもしれません。
海外のサイトですが、初心者と経験者の両者を対象とした一問一答形式でSQLクエリの書き方を教えてくれます。
参考:Top SQL Query Interview Questions and Answers
SQLの練習用サイト「SQL Queries Practice」
SQL Queries for Interviewsと似たようなものに、”SQL Queries Practice”もあります。
これらのサイトは、SQLスキルの向上を目的にSQLの練習ができるサイトです。
練習に必要なテーブル情報が用意され、サイトの質問に答えるように答えのクエリを書いていく方式になっています。
学校の問題集のような感じですね。
参考書を読んで学習するよりも、実践的な形で学習したい人にオススメの練習方法と言えます。
参考:SQL Exercises, Practice, Solution – w3resource
参考:50 SQL Query Questions You Should Practice for Interview
まとめ
SQLのクエリについて解説しました。
クエリはデータベースへ送る命令文、SQLはデータベース操作のための言語です。
クエリのサンプルや練習サイトを活用して、ぜひSQLクエリの使い方をマスターしてください。
■MySQLのインストール方法
【関連記事】
▶︎MySQL5.7のダウンロード・インストールする方法【画像付き】
■PostgreSQLのインストール方法
【関連記事】
▶︎PostgreSQLのインストールからテーブル作成まで解説【初心者向け】