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

次に、unitOfficeの複数行をまとめて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