【SQL】UPDATEで全行を同じ値で更新する方法

このページでは、データを更新するSQLであるUPDATE文を使って、全てのレコードのカラムを一括で同じ値に更新する方法を紹介しております。

UPDATE文のサンプルは↓で多数紹介していますので参考にしてください。
>>【SQL】UPDATE文の書き方:サンプル多数あり

UPDATE文の基本構文や使い方

全行の更新の前に、簡単にUPDATE文の使い方をおさらいします。

UPDATE文の基本構文は次の通りです。

UPDATE テーブル名 SET 列名 = 値[,列名 = 値] [WHERE 条件];

UPDATEでよく使うのは、主キー項目をWHERE句に指定して更新対象を絞る方法です。次のSQLのように、WHERE句にキーを指定して更新します。

UPDATE tab1 SET col2 = 'A' WHERE col1 = '00001';

キー値の他にも、更新対象を何らかのグループや値の範囲を使って絞ることも可能でです。次のSQLのように、BETWEENなどを使って値の範囲を限定して更新対象を絞ることもできます。

UPDATE tab1 SET col2 = 'A' WHERE col3 BETWEEN 100 AND 200;;

UPDATEで全行を同じ値に更新する方法

UPDATE文ので全データを対象にするには、WHERE句の条件をつけないようにします。

次のSQLでは、WHERE句の条件を無くしました。この場合、条件指定がないので、全てのレコードが更新の対象となります。

全てのレコードのCOL2の値をAという文字列に更新しています。

UPDATE tab1 SET col2 = 'A';

UPDATEのSETには関数を使うこともできます。次のSQLではCOL2列の値がNULLの場合にBという文字列に更新しています。

UPDATE tab1 SET col2 = NVL(col2,'B');

まとめ

UPDATE文で全行を同じ値を更新する方法には、WHERE句の条件を外しましょう。

ただし、全ての行が更新されるので、間違いがないか十分に確認しましょう。

この他にも、UPDATE文の様々な書き方を解説しております。
詳しくは「【SQL】UPDATE文の書き方:サンプル多数あり」で解説しているのでぜひ参考にしてください。