SQLを利用してレコードを更新するコードを紹介します。
概要
SQLでレコードを更新するにはUPDATE文を利用します。
書式
UPDATE文の書式は次の通りです。
指定したレコードのフィールドを更新する場合
一般的には、WHERE句を利用して更新するレコードを絞り込みレコードの値を更新します。WHERE句を利用したUPDATE文は下記の書式になります。
UPDATE テーブル名 SET 列名1=値1, 列名2=値2, .... 列名n=値n WHERE (条件式)
大抵の場合、WHEREの条件式はプライマリーキーの値で判定するため、一般的には以下の書式になります。
UPDATE テーブル名 SET 列名1=値1, 列名2=値2, ... 列名n=値n WHERE プライマリキー列名 = 更新するレコードのキー値
一つのフィールド要素のみの更新の場合は下記となります。
UPDATE テーブル名 SET 列名=値 WHERE (条件式)
すべてのレコードのフィールドを更新する場合
すべてのレコードのフィールドを更新する場合は WHERE句を含めないで記述できます。
下記のコードをそのまま実行するとすべてのレコードの値が、SQLに記述した値で更新されてしまいますので、十分な注意が必要です。
UPDATE テーブル名 SET 列名1=値1, 列名2=値2, ... 列名n=値n
例1
テーブル
以下のテーブルを用意します。
products テーブル
id | name | price |
1 | Penguin | 400 |
2 | Duck | 300 |
3 | Whale | 1000 |
4 | Bear | 650 |
SQL
ID=2のレコードのnameをDuckからHawkに変更し、priceを500にする場合のSQLは下記になります。
UPDATE products SET name='Hawk', price=500 where id=2
実行後のテーブル
products テーブル
id | name | price |
1 | Penguin | 400 |
2 | Hawk | 500 |
3 | Whale | 1000 |
4 | Bear | 650 |
例2
テーブル
以下のテーブルを用意します。
products テーブル
id | name | price |
1 | Penguin | 400 |
2 | Duck | 300 |
3 | Whale | 1000 |
4 | Bear | 650 |
SQL
ID=4のレコードのnameをBearからTigerに変更する「Hawkに変更し、priceを500にする場合のSQLは下記になります。
UPDATE products SET name='Tiger' where id=4
実行後
products テーブル
id | name | price |
1 | Penguin | 400 |
2 | Duck | 300 |
3 | Whale | 1000 |
4 | Tiger | 650 |
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2023-12-11
作成日: 2014-07-21