追加・更新・削除

INPUT · スライド

行を足す

01 / 05

読むだけじゃ足りない

ここまでは SELECT でデータを読む練習をしてきた。でもアプリは、新しい行を足したり、値を直したり、いらない行を消したりもするよね。

この章で覚えるのはデータを書きかえる3つの命令。使うのは体育倉庫の道具をメモした tools テーブルだよ。

  • id … 番号
  • name … 道具の名前
  • place … 置き場
  • memo … 気づいたこと(空のこともある)
  • stock … いくつあるか
SELECT * FROM tools ORDER BY id;

実行結果

1 | なわとび | たな | ひもが古い | 12
2 | ボール | かご |  | 8
3 | ゼッケン | ロッカー |  | 20
4 | タイマー | たな | でんちを交換 | 3
5 | コーン | そうこ |  | 15
6 | ふえ | ロッカー | よく使う | 4

02 / 05

`INSERT INTO` で行を足す

行を足す命令が INSERT INTO。かっこを2つ並べて書くよ。

  • 1つめ … どのに入れるか
  • 2つめ … その

VALUES のかっこの中は、上に並べた列と同じ順に書くのが決まりだよ。

INSERT INTO tools  (id, name, place, memo, stock)  VALUES  (7, 'マット', 'そうこ', NULL, 2);

03 / 05

値の書き方は3とおり

入れる値は種類ごとに書き方がちがうよ。

  • 文字 … 'マット' のようにシングルクォートで囲む
  • 数値 … 2 とそのまま書く
  • 空のまま … NULL と書く(クォートで囲まない)

列のかっこから外した列にも NULL が入る。memo を書かなければ空のままだよ。

04 / 05

足したら `SELECT` で確かめる

INSERT は表を返さない。走らせても画面はしずかなままだよ。

だから続けて SELECT を書いて、思ったとおりに入ったかを自分の目で見る。; で区切れば、上から順に実行されるよ。

この章の問題には確認用の SELECT が最初から置いてある。消さずに、その上に書き込む文を足していこう。

INSERT INTO tools  (id, name, place, memo, stock)  VALUES  (7, 'マット', 'そうこ', NULL, 2);SELECT * FROM tools ORDER BY id;

実行結果

1 | なわとび | たな | ひもが古い | 12
2 | ボール | かご |  | 8
3 | ゼッケン | ロッカー |  | 20
4 | タイマー | たな | でんちを交換 | 3
5 | コーン | そうこ |  | 15
6 | ふえ | ロッカー | よく使う | 4
7 | マット | そうこ |  | 2

05 / 05

何行でもまとめて足せる

VALUES のうしろをカンマで区切れば、1つの INSERT で何行でも足せるよ。

INSERT を2回書いても結果は同じ。読みやすいほうを選んでいい。ここから書いてみよう。

INSERT INTO tools  (id, name, place, memo, stock)  VALUES  (7, 'バトン', 'かご', NULL, 24),  (8, 'メジャー', 'たな', NULL, 1);SELECT * FROM tools ORDER BY id;

実行結果

1 | なわとび | たな | ひもが古い | 12
2 | ボール | かご |  | 8
3 | ゼッケン | ロッカー |  | 20
4 | タイマー | たな | でんちを交換 | 3
5 | コーン | そうこ |  | 15
6 | ふえ | ロッカー | よく使う | 4
7 | バトン | かご |  | 24
8 | メジャー | たな |  | 1