LoginSignup
0
0

More than 3 years have passed since last update.

【SQLite3】データの更新 (UPDATE文)

Last updated at Posted at 2019-11-02

テーブルに格納されているデータを新しい値に更新するには 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');
テーブルのデータを見てみる
SELECT * FROM staff;
id          name        unit        flag      
----------  ----------  ----------  ----------
1           Yamada      Sales       Yes       
2           Honda       Office      No        
3           Nakai       Office      Yes       
4           Suzuki      Tech        Yes       
5           Itou        Sales       No       

ひとつのデータを更新

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

UPDATE staff SET name = 'Nakajima' WHERE id = 3;
SELECT * FROM staff;
id          name        unit        flag      
----------  ----------  ----------  ----------
1           Yamada      Sales       Yes       
2           Honda       Office      No        
3           Nakajima    Office      Yes       
4           Suzuki      Tech        Yes       
5           Itou        Sales       No        

複数のデータを一度に更新

unitカラムの値が'Office'のデータについて、unitカラムの値を'Desk'に変更して確認してみます。

UPDATE staff SET unit = 'Desk' WHERE unit = 'Office';
SELECT * FROM staff;
id          name        unit        flag      
----------  ----------  ----------  ----------
1           Yamada      Sales       Yes       
2           Honda       Desk        No        
3           Nakajima    Desk        Yes       
4           Suzuki      Tech        Yes       
5           Itou        Sales       No        

全てのデータを一度に更新

flagカラムの値を'unknown'に変更して、確認してみます。

UPDATE staff SET flag = 'unKnown';
SELECT * FROM staff;
id          name        unit        flag      
----------  ----------  ----------  ----------
1           Yamada      Sales       unKnown   
2           Honda       Desk        unKnown   
3           Nakajima    Desk        unKnown   
4           Suzuki      Tech        unKnown   
5           Itou        Sales       unKnown   

本記事目次ページ

【データベース】SQLite3・JDBCまとめ

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0