STEP 3
テーブル操作
サンプルのAccessファイルを使用します。
このページの一番下からDBNew_Sample_Step3.zipをダウンロードして任意の場所で解凍してください。
1. 更新:UPDATE文
UPDATE テーブル名 SET 列名 = 値 WHERE 条件;
UPDATE 文は、
既に登録されているデータを変更する
ためのSQL文です。
例えば、次のようなデータがあります。
Students(一部)
| StudentID | Name | Grade | Class |
|---|---|---|---|
| 1 | 田中 太郎 | 1 | A |
| 2 | 鈴木 花子 | 3 | B |
| 3 | 佐藤 健 | 2 | C |
(1) クラスを変更する
「佐藤 健」のクラスを C から A に変更します。
UPDATE Students SET Class = 'A' WHERE StudentID = 3;
各部分の意味
| 部分 | 意味 |
|---|---|
| UPDATE Students | Studentsテーブルを更新 |
| SET Class = 'A' | Class列を A に変更 |
| WHERE StudentID = 3 | StudentID が 3 の行だけ |
実行後
| StudentID | Name | Grade | Class |
|---|---|---|---|
| 1 | 田中 太郎 | 1 | A |
| 2 | 鈴木 花子 | 3 | B |
| 3 | 佐藤 健 | 2 | A |
(2) 身長を変更する
「田中 太郎」の身長を 162 → 165 に変更します。
UPDATE Students SET Height = 165 WHERE StudentID = 1;
文字と数値の違い
数値
SET Height = 165
数値は ' ' 不要です。
文字
SET Class = 'A'
文字は ' ' が必要です。
2. 挿入:INSERT文
INSERT INTO テーブル名(フィールド名1,フィールド名2,...)
VALUES(値1,値2,...);
INSERT 文は、
新しいデータをテーブルに追加する
ためのSQL文です。
Studentsテーブルには次のフィールドがあります。
| フィールド名 | 内容 |
|---|---|
| StudentID | 生徒ID(オートナンバー) |
| Name | 生徒名 |
| Furigana | ふりがな |
| Grade | 学年 |
| Class | クラス |
| Height | 身長 |
| ClubID | Clubsテーブルの主キー//Step4以降で使用 |
| JHighID | JHighsテーブルの主キー//Step4以降で使用 |
現在、次のようなデータが入っています(01 更新:UPDATE文を実行した場合)。
| StudentID | Furigana | Name | Grade | Class | Height | ClubID | JHighID |
|---|---|---|---|---|---|---|---|
| 1 | 田中 太郎 | タナカ タロウ, | 1 | A | 165 | 1 | 1 |
| 2 | 鈴木 花子 | スズキ ハナコ | 3 | B | 170 | 1 | 1 |
| 3 | 佐藤 健 | サトウ ケン | 2 | A | 158 | 1 | 1 |
| 4 | 高橋 愛 | タカハシ アイ | 1 | B | 165 | 1 | 1 |
| 5 | 伊藤 次郎 | イトウ ジロウ | 2 | A | 176 | 1 | 1 |
| 6 | 渡辺 美咲 | ワタナベ ミサキ | 3 | C | 154 | 1 | 1 |
| 7 | 山本 一郎 | ヤマモト イチロウ | 1 | A | 180 | 1 | 1 |
| 8 | 中村 春菜 | ナカムラ ハルナ | 2 | B | 160 | 1 | 1 |
(1) 新しい生徒を追加する
INSERT INTO Students
(Name,Furigana,Grade,Class,Height,ClubID,JHighID)
VALUES
('山田 次郎','ヤマダ ジロウ',1,'A',171,1,1);
StudentID は自動的に採番され、1行追加されます
| StudentID | Furigana | Name | Grade | Class | Height | ClubID | JHighID |
|---|---|---|---|---|---|---|---|
| 9 | 山田 次郎 | ヤマダ ジロウ | 1 | A | 171 | 1 | 1 |
各部分の意味
| 部分 | 意味 |
|---|---|
| INSERT INTO Students | Studentsテーブルへ追加 |
| (Name,Furigana, Grade, Class,Height,ClubID,JHighID) | データを入れる列 |
| VALUES | 値を指定する |
| ('山田 次郎','ヤマダ ジロウ', 1, 'A',171,1,1) | 実際に追加する値 |
列名を省略する書き方
すべての列に値を入れる場合は、
INSERT INTO Students
VALUES
('山田 次郎','ヤマダ ジロウ',1,'A',171,1,1);
のように書くこともできます。
ただし、この方法は、
列の順番を正確に把握している必要があります。
3 .削除:DELETE文
DELETE FROM テーブル名 WHERE 条件; DELETE 文は、
テーブル内のデータ(レコード)を削除する
ためのSQL文です。
一般的なSQLでの例
DELETE FROM Students WHERE StudentID = 3;
各部分の意味
| 部分 | 意味 |
|---|---|
| DELETE | 削除する |
| FROM Students | Studentsテーブルから |
| WHERE StudentID = 3 | StudentID が 3 の行だけ |
StudentIDが3 「佐藤 健」のデータが削除されます。
| StudentID | Furigana | Name | Grade | Class | Height | ClubID | JHighID |
|---|---|---|---|---|---|---|---|
| 1 | 田中 太郎 | タナカ タロウ, | 1 | A | 165 | 1 | 1 |
| 2 | 鈴木 花子 | スズキ ハナコ | 3 | B | 170 | 1 | 1 |
| 4 | 高橋 愛 | タカハシ アイ | 1 | B | 165 | 1 | 1 |
| 5 | 伊藤 次郎 | イトウ ジロウ | 2 | A | 176 | 1 | 1 |
| 6 | 渡辺 美咲 | ワタナベ ミサキ | 3 | C | 154 | 1 | 1 |
| 7 | 山本 一郎 | ヤマモト イチロウ | 1 | A | 180 | 1 | 1 |
| 8 | 中村 春菜 | ナカムラ ハルナ | 2 | B | 160 | 1 | 1 |
| 9 | 山田 次郎 | ヤマダ ジロウ | 1 | A | 171 | 1 | 1 |
| ファイル名 | サイズ (KB) | ダウンロード |
|---|---|---|
| DBNew_Sample_Step3.zip | 18 |