SQL
前提ページ:データベース
推奨ページ:なし
Web アプリケーションでデータを保存するときに、データベースを利用することが多くあります。 今回はその操作を行うのに必要な SQL を学びます。
別章の説明では、SELECT 文のみ利用します。
SQL
SQL とは、データベースに操作を伝えるための言語です。 SQL には様々な種類がありますが、今回は MySQL という RDBMS の SQL を利用します。
操作
テーブルの例
以下のようなテーブルをusers として置いて、各 SQL の操作について説明します。
| id | name | sex | age | |
|---|---|---|---|---|
| 1 | inu | inu@example.com | オス | 10 |
| 2 | neko | neko@example.com | メス | 8 |
| 3 | usagi | usagi@example.com | オス | 2 |
SELECT (レコードの取得)
SELECT は テーブル名 とカラム名 指定したテーブルのカラムのうち、レコードが条件に満たすものを取得します。※1
SELECT カラム名1, カラム名2, カラム名3, ... FROM テーブル名 WHERE 条件;
以下のような SQL を送信することで、id が 1 であるレコードのnameをとってくることができます。 例のテーブルの場合、inuがデータベースから返ってきます。
SELECT name FROM users WHERE id=1;
INSERT(レコードの追加)
INSERT は テーブル名のテーブルに、値 1, 値 2, 値 3, …のレコードを追加します。※1
INSERT INTO テーブル名 VALUES (値1, 値2, 値3, ...);
以下のような SQL を送信することで、id が 4 で、nameがtora、emailがtora@example.com、sexがメス、ageが14のレコードを追加することができます。
INSERT INTO users VALUES (4, "tora", "tora@example.com", "メス", 14);
実行後のテーブル
| id | name | sex | age | |
|---|---|---|---|---|
| 1 | inu | inu@example.com | オス | 10 |
| 2 | neko | neko@example.com | メス | 8 |
| 3 | usagi | usagi@example.com | オス | 2 |
| 4 | tora | tora@example.com | メス | 14 |
UPDATE(レコードの更新)
UPDATE は テーブル名のテーブルの条件を満たすレコードに、変更に指定した変更を加えます。※1
UPDATE テーブル名 SET 変更 WHERE 条件;
以下のような SQL を送信することで、idが 1 であるデータのageを 19 に変更できます。
UPDATE users SET age=19 WHERE id=1;
実行後のテーブル
| id | name | sex | age | |
|---|---|---|---|---|
| 1 | inu | inu@example.com | オス | 19 |
| 2 | neko | neko@example.com | メス | 8 |
| 3 | usagi | usagi@example.com | オス | 2 |
DELETE(レコードの消去)
DELETE は テーブル名のテーブルの条件を満たすレコードを消去します。※1
DELETE FROM テーブル名 WHERE 条件;
以下のような SQL を送信することで、idが 1 であるレコードを消去することができます。
DELETE FROM users WHERE id=1;
実行後のテーブル
| id | name | sex | age | |
|---|---|---|---|---|
| 2 | neko | neko@example.com | メス | 8 |
| 3 | usagi | usagi@example.com | オス | 2 |
備考
※1 厳密な説明ではありませんが、今回は SQL の概要を知ってもらうことを目的としているので、言及しません。