SQLite | データの追加・更新・削除 | データの更新(UPDATE)
UPDATE文を使って、テーブルに保存されているデータを新しい値に更新する方法を説明します。
テーブルのデータを更新する
保存済みのデータを更新するには、次の形式でUPDATE文を使います。
UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ... WHERE 条件式;
WHERE句で更新対象の行を指定します。条件に一致する行が複数あれば、すべて一括で更新されます。WHERE句を省略すると、テーブルの全行が対象になります。SET句では更新するカラムと新しい値を指定し、複数のカラムを同時に更新することもできます。
テーブルを作成し、サンプルデータを追加します。
create table employee (id integer, name text, unit text, flag text);
insert into employee values (1, 'devkuma', 'Sales', 'Yes');
insert into employee values (2, 'kimkc', 'Office', 'No');
insert into employee values (3, 'araikuma', 'Office', 'Yes');
insert into employee values (4, 'happykuma', 'Tech', 'Yes');
insert into employee values (5, 'mykuma', 'Sales', 'No');
まず、idが3の行のnameを更新し、結果を確認します。
update employee set name = 'raccoon' where id = 3;
select * from employee where id = 3;
id name unit flag
---------- ---------- ---------- ----------
3 raccoon Office Yes
次に、unitがOfficeの複数行をまとめてDeskに更新します。
update employee set unit = 'Desk' where unit = 'Office';
select * from employee;
1 devkuma Sales Yes
2 kimkc Desk No
3 raccoon Desk Yes
4 happykuma Tech Yes
5 mykuma Sales No
最後に、WHERE句を省略して全行のflagを更新します。
update employee set flag = 'unknown';
select * from employee;
1 devkuma Sales unknown
2 kimkc Desk unknown
3 raccoon Desk unknown
4 happykuma Tech unknown
5 mykuma Sales unknown