SQLite3でデータベースに保存されているデータを更新してみます。
SQLite3を起動し、
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR,
money INTEGER
);
と
INSERT INTO users (id, name, money) VALUES (1, "太郎", 100);
は実行済みだとします。
始めにSELECTクエリでユーザIDが 1 のデータのみを取得します。
sqlite> SELECT * FROM users WHERE id = 1; +----+------+-------+ | id | name | money | +----+------+-------+ | 1 | 太郎 | 100 | +----+------+-------+
WHERE句を使うことで、任意の条件による絞り込みを行う事ができます。
今回はidの値が 1 のデータのみ取得しました。
※ id > 0や id < 5のように値の範囲による絞り込みも可能です。
太郎さんの所持金を 100 から 200 に更新してみます。
sqlite> UPDATE users SET money = 200 WHERE id = 1; sqlite> SELECT * FROM users WHERE id = 1; +----+------+-------+ | id | name | money | +----+------+-------+ | 1 | 太郎 | 200 | +----+------+-------+
データが更新されました。
今回使用しましたUPDATE句の書き方は下記になります。
UPDATE テーブル名 SET カラム名 = 新しい値 WHERE 条件;
※ クエリ実行の際は改行の有り無しは関係ありません。