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 の概要を知ってもらうことを目的としているので、言及しません。