データベースのデータを操作するSQL文について説明します。
説明に使用するテーブルは以下の通りです。
テーブル名:USER
No. | カラム名 | データ型 | 主キー |
1 | ID | NUMERIC | 〇 |
2 | NAME | VARCHAR | |
3 | TEAM | VARCHAR |
登録されているデータは以下の通りです。
※データについては、趣味全開です。
ID | NAME | TEAM |
1 | 角谷杏 | カメさん |
2 | 西住みほ | あんこう |
3 | 武部沙織 | あんこう |
データを取得するSQL文
データベースからデータを取得するSQL文は以下のような構成になります。
※説明を簡素化したいと思いますので並び順、集約などのお話はここでは省いております。
「SELECT」~「FROM」~「WHERE」~
- SELECT:取得したい項目を指定します。
- FROM:取得したい項目を管理するテーブルを指定します。
- WHERE:取得するデータを絞り込む条件を指定します。
一意のデータ参照する場合
SELECT
ID,
NAME,
TEAM
FROM
USER
WHERE
ID = 2
このSQL文を発行することで「ID」が「2」に該当する情報のみ取得します。取得したイメージは以下の通りです。
ID | NAME | TEAM |
2 | 西住みほ | あんこう |
全部取得する場合
SELECT
ID,
NAME,
TEAM
FROM
USER
上記の通り、条件を指定しないでSQL文を発行します。この場合はすべてのデータが取得されるため取得したイメージは以下の通りになります。
ID | NAME | TEAM |
1 | 角谷杏 | カメさん |
2 | 西住みほ | あんこう |
3 | 武部沙織 | あんこう |
データを登録(追加)するSQL文
データ登録を行うSQL文は以下のような構成になります。
※こちらも単純にデータを追加する説明といたします。
「INSERT INTO」~(~)「VALUES」(~)
- INSERT INTO:データを登録するテーブルを指定します。また、()内にはデータを設定する項目(カラム名)を指定します。
- VALUES:()内に上記で指定した項目に設定する値を指定します。
※項目や値を複数指定する場合は「カンマ」で区切ります。
一つのデータを登録する場合
INSERT INTO USER (
ID,
NAME,
TEAM)
VALUES (
4,
'五十鈴華',
'あんこう')
上記SQL文を発行することで、データが以下のように追加されます。
ID | NAME | TEAM |
1 | 角谷杏 | カメさん |
2 | 西住みほ | あんこう |
3 | 武部沙織 | あんこう |
4 | 五十鈴華 | あんこう |
データを更新(変更)するSQL文
データベースに登録されているデータを変更するSQL文は以下のような構成になります。
「UPDATE」~「SET」~「WHERE」~
- UPDATE:データを更新するテーブルを指定します。
- SET:データを更新する項目(カラム名)と変更する値を指定します。(※)
- WHERE:データ更新する対象を絞り込む条件を指定します。
※更新する対象項目(カラム名)と値は「イコール」を挟みます。また、更新する対象が複数ある場合は「カンマ」で区切ります。
一つのデータを更新する場合
UPDATE USER
SET
NAME = '河嶋桃',
TEAM = 'カメさん'
WHERE
ID = 4
上記SQL文を発行することで以下のようにデータが更新されます。
ID | NAME | TEAM |
1 | 角谷杏 | カメさん |
2 | 西住みほ | あんこう |
3 | 武部沙織 | あんこう |
4 | 河嶋桃 | カメさん |
データを削除(物理削除)するSQL文
データベースに登録されているデータを削除するSQL文は以下のような構文になります。
「DELETE FROM」~「WHERE」
- DELETE FROM:データを削除するテーブルを指定します。
- WHERE:削除対象を絞り込む条件を指定します。
※物理削除に対して論理削除という考え方がありますが今回は物理削除についてのみ説明します。
一つのデータを削除する場合
DELETE FROM USER
WHERE
ID = 4
上記SQL文を発行することで以下の通り削除された状態となります。
ID | NAME | TEAM |
1 | 角谷杏 | カメさん |
2 | 西住みほ | あんこう |
3 | 武部沙織 | あんこう |
追加したデータを更新して削除したため元通りになりました。