プログラマのメモ帳

【DB】データ操作するSQL文【SQL文】

データベースのデータを操作するSQL文について説明します。

説明に使用するテーブルは以下の通りです。

テーブル名:USER

No. カラム名 データ型 主キー
1 ID NUMERIC
2 NAME VARCHAR
3 TEAM VARCHAR

登録されているデータは以下の通りです。

※データについては、趣味全開です。

ID NAME TEAM
1 角谷杏 カメさん
2 西住みほ あんこう
3 武部沙織 あんこう

データを取得するSQL文

データベースからデータを取得するSQL文は以下のような構成になります。

※説明を簡素化したいと思いますので並び順、集約などのお話はここでは省いております。

「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 USER (
  ID,
  NAME,
  TEAM)
VALUES (
  4,
  '五十鈴華',
  'あんこう')

上記SQL文を発行することで、データが以下のように追加されます。

ID NAME TEAM
1 角谷杏 カメさん
2 西住みほ あんこう
3 武部沙織 あんこう
4 五十鈴華 あんこう

データを更新(変更)するSQL文

データベースに登録されているデータを変更するSQL文は以下のような構成になります。

「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 USER
WHERE
  ID = 4

上記SQL文を発行することで以下の通り削除された状態となります。

ID NAME TEAM
1 角谷杏 カメさん
2 西住みほ あんこう
3 武部沙織 あんこう

追加したデータを更新して削除したため元通りになりました。