行を安全に追加、変更、削除し、WHEREの付け忘れという古典的な罠を避けましょう。
このレッスンを Kodokon で開くここまで、あなたはデータを読み取ることしかしてきませんでした。書き込みに移りましょう。INSERT INTOは行を追加します。丸括弧の中に列を並べ、それからVALUESのあとに対応する値を同じ順序で並べます。列を明示的に指定するのは良い習慣です。テーブルの構造が変化してもクエリは有効なままです。
INSERT INTO books (id, title, author, genre, year, price)
VALUES (8, 'Ravage', 'Barjavel', 'sf', 1943, 7.5);
SELECT * FROM books WHERE id = 8;UPDATEは既存の行を変更します。SETのあとに列とその新しい値を示し、WHEREのあとにどの行が影響を受けるかを指定します。このWHEREは極めて重要です。変更の対象を絞り込むものだからです。
UPDATE books SET price = 8.9 WHERE id = 8;
SELECT title, price FROM books WHERE id = 8;DELETE FROMは行を取り除きます。UPDATEと同じように、WHERE句は削除する行を指定します。それ以外はそのまま残ります。さっき追加した本を削除し、それから件数を確認しましょう。
DELETE FROM books WHERE id = 8;
SELECT COUNT(*) FROM books;BEGIN;
DELETE FROM books WHERE genre = 'sf';
SELECT COUNT(*) FROM books;
ROLLBACK;
SELECT COUNT(*) FROM books;