テーブル内にあるデータのやりとり

テーブル内のデータは SQL によって参照したり更新をします。運用しているデータベース上ではレコードに対して参照、追加、更新、削除の操作ができます。

レコードの参照(取得) - SELECT

SELECT はテーブルから目的のレコードを取得して参照できるようにします。

sample_records
id name division section mobile
1 一郎 営業部 営業課 070-1111-1111
2 次郎 製造部 第一製造課 080-2222-2222
3 三郎 経営企画部 (null) 090-3333-3333
SELECT
  -- 参照したいカラムを挙げます
  name,
  division,
  section,
  mobile
FROM
  -- 目的のデータがあるテーブル名を指定します
  sample_records
WHERE
  -- テーブルの中のどのデータを取得するのか、
  -- その条件を書きます
  id = 2;
SELECT によって取り出された内容
id name division section mobile
2 次郎 製造部 第一製造課 080-2222-2222

取得したレコードは各言語によって最適なデータ型で参照できます。たとえば PHP の場合、 SELECT の結果は配列に入ります。

レコードの追加 - INSERT

INSERT はテーブルに新規のレコードを追加します。

sample_records
id name division section mobile
1 一郎 営業部 営業課 070-1111-1111
2 次郎 製造部 第一製造課 080-2222-2222
3 三郎 経営企画部 (null) 090-3333-3333
INSERT INTO
  -- データを追加したいテーブルを指定します
  sample_records
  -- 追加するデータのカラム名を挙げます
  ( id, name, division, section,mobile )
VALUES
  -- 追加するデータの値を挙げます
  -- 文字列は ' でくくります
  ( 4, '四郎', '総務部', '総務課' , '070-4444-4444' );

なお INSERT では必須入力ではないカラムを省略することができます。カラムが必須入力かの指定はテーブルを作る際に決定します。

sample_records
id name division section mobile
1 一郎 営業部 営業課 070-1111-1111
2 次郎 製造部 第一製造課 080-2222-2222
3 三郎 経営企画部 (null) 090-3333-3333
4 四郎 総務部 総務課 070-4444-4444

レコードの更新 - UPDATE

UPDATE はテーブル内のすでにあるレコードの値を更新します。

sample_records
id name division section mobile
1 一郎 営業部 営業課 070-1111-1111
2 次郎 製造部 第一製造課 080-2222-2222
3 三郎 経営企画部 (null) 090-3333-3333
4 四郎 総務部 総務課 070-4444-4444
UPDATE
  -- データを更新したいテーブルを指定します
  sample_records
SET
  -- 更新したい値を名前に代入する形で挙げます
  division = null,
  section = '庶務二課',
  mobile = '000-0000-0000'
WHERE
  -- 目的のレコードを特定する条件( PK など)を指定します
  id = 3;
sample_records
id name division section mobile
1 一郎 営業部 営業課 070-1111-1111
2 次郎 製造部 第一製造課 080-2222-2222
3 三郎 (null) 庶務二課 000-0000-0000
4 四郎 総務部 総務課 070-4444-4444

INSERT と同様に必須入力ではないカラムを省略することができます。カラムが必須入力かの指定はテーブルを作る際に決定します。

なお UPDATE では WHERE を省略した場合、テーブル内のすべてのレコードが更新されてしまうため注意が必要です。 WHERE の内容が不完全でレコードがひとつに特定できなかった場合も同様に WHERE にマッチしたすべてのレコードが更新されます。

レコードの削除 - DELETE

DELETE はテーブル内のレコードを削除します。

sample_records
id name division section mobile
1 一郎 営業部 営業課 070-1111-1111
2 次郎 製造部 第一製造課 080-2222-2222
3 三郎 (null) 庶務二課 000-0000-0000
4 四郎 総務部 総務課 070-4444-4444
DELETE FROM
  -- 削除したいデータがあるテーブルを指定します
  sample_records
WHERE
 -- 目的のレコードを特定する条件( PK など)を指定します
  id = 3;
sample_records
id name division section mobile
1 一郎 営業部 営業課 070-1111-1111
2 次郎 製造部 第一製造課 080-2222-2222
4 四郎 総務部 総務課 070-4444-4444

UPDATE と同様に WHERE を省略した場合、テーブル内のすべてのレコードが削除されてしまうため注意が必要です。 WHERE の内容が不完全でレコードがひとつに特定できなかった場合も同様に WHERE にマッチしたすべてのレコードが削除されます。

« 「テーブル」へ  |  トップへ  |  上の階層へ  |  「リレーション」へ »

トップページへ戻る / 前のページへ戻る

back to top