安全地添加、修改和删除行,避开遗忘 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;