データの更新(UPDATE文)

テーブルに格納されているデータを新しい値に更新するには UPDATE 文を使用します。ここでは SQLite でデータを更新する方法について解説します。

(Last modified: )

テーブルのデータを更新する

テーブルに格納されているデータを新しい値に更新するには UPDATE 文を使います。書式は次の通りです。 データを更新する場合の書式は次の通りです。

UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ... WHERE 条件式;

まず更新の対象となるデータを WHERE 句の条件式を使って指定します。条件式に一致するデータが複数の場合は、複数のデータがそれぞれ更新されることになります。 WHERE を省略した場合はテーブルに含まれる全てのデータが更新されます。

次にどの値を更新するのかをカラム名と値で指定します。複数のカラムの値を一度に更新することができます。

それでは実際に試してみます。次のようなテーブルを作成しました。テーブルにはデータを追加してあります。

create table staff(id integer, name text, unit text, flag text);

insert into staff values(1, 'Yamada', 'Sales', 'Yes');
insert into staff values(2, 'Honda', 'Office', 'No');
insert into staff values(3, 'Nakai', 'Office', 'Yes');
insert into staff values(4, 'Suzuki', 'Tech', 'Yes');
insert into staff values(5, 'Itou', 'Sales', 'No');

テーブルのデータを更新する(1)

最初に id カラムの値が 3 のデータの name カラムの値を変更してみます。

update staff set name = 'Nakajima' where id = 3;

テーブルのデータを更新する(2)

データを取得してテーブルの値が更新されたかどうかを確認してみますと、新しい値に更新されていることが確認できます。

select * from staff where id = 3;

テーブルのデータを更新する(3)

次は複数のデータを一度に更新してみます。 unit カラムの値が 'Office' のデータについて、 unit カラムの値を 'Desk' に変更します。

update staff set unit = 'Desk' where unit = 'Office';

テーブルのデータを更新する(4)

データを取得してテーブルの値が更新されたかどうかを確認してみますと、新しい値に更新されていることが確認できます。

select * from staff;

テーブルのデータを更新する(5)

最後に全てのデータを一度に更新してみます。 flag カラムの値を 'unknown' に変更します。

update staff set flag = 'unknown';

テーブルのデータを更新する(6)

データを取得してテーブルの値が更新されたかどうかを確認してみますと、新しい値に更新されていることが確認できます。

select * from staff;

テーブルのデータを更新する(7)

-- --

UPDATE 文を使ってテーブルに格納されている値を新しい値に更新する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。