テーブル内にあるデータのやりとり
テーブル内のデータは SQL によって参照したり更新をします。運用しているデータベース上ではレコードに対して参照、追加、更新、削除の操作ができます。
レコードの参照(取得) - SELECT
SELECT はテーブルから目的のレコードを取得して参照できるようにします。
| 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;
| id | name | division | section | mobile |
|---|---|---|---|---|
| 2 | 次郎 | 製造部 | 第一製造課 | 080-2222-2222 |
取得したレコードは各言語によって最適なデータ型で参照できます。たとえば PHP の場合、 SELECT の結果は配列に入ります。
レコードの追加 - INSERT
INSERT はテーブルに新規のレコードを追加します。
| 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 では必須入力ではないカラムを省略することができます。カラムが必須入力かの指定はテーブルを作る際に決定します。
| id | name | division | section | mobile |
|---|---|---|---|---|
| 1 | 一郎 | 営業部 | 営業課 | 070-1111-1111 |
| 2 | 次郎 | 製造部 | 第一製造課 | 080-2222-2222 |
| 3 | 三郎 | 経営企画部 | (null) | 090-3333-3333 |
| 4 | 四郎 | 総務部 | 総務課 | 070-4444-4444 |
レコードの更新 - UPDATE
UPDATE はテーブル内のすでにあるレコードの値を更新します。
| 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;
| 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 はテーブル内のレコードを削除します。
| 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;
| id | name | division | section | mobile |
|---|---|---|---|---|
| 1 | 一郎 | 営業部 | 営業課 | 070-1111-1111 |
| 2 | 次郎 | 製造部 | 第一製造課 | 080-2222-2222 |
| 4 | 四郎 | 総務部 | 総務課 | 070-4444-4444 |
UPDATE と同様に WHERE を省略した場合、テーブル内のすべてのレコードが削除されてしまうため注意が必要です。 WHERE の内容が不完全でレコードがひとつに特定できなかった場合も同様に WHERE にマッチしたすべてのレコードが削除されます。
« 「テーブル」へ | トップへ | 上の階層へ | 「リレーション」へ »