【SQL】特定の項目値を全てNULLに更新する方法
SET 項目値 = NULL:項目値をNULLに更新
SET 項目値 = NULLとすることで特定の項目値をNULLに更新することができます。
UPDATE テーブル名 SET 項目名 = NULL;
例えば、以下のようなテーブル(テーブル名:testtable)があり、生年月日の値をNULLとしたい場合は以下のように記載します。
SELECT * from testtable;
番号 | 名前 | 生年月日 |
001 | 太郎 | 20000101 |
002 | 次郎 | 20000102 |
003 | 三郎 | 20000103 |
004 | 四郎 | 20000104 |
UPDATE testtable SET 生年月日 = NULL;
SQL実行後は以下のように一律NULLがセットされます。
(状態) | 番号 | 名前 | 生年月日 |
---|---|---|---|
* (更新前) | 001 | 太郎 | 20000101 |
* (更新後) | 001 | 太郎 | « NULL » |
* (更新前) | 002 | 次郎 | 20000102 |
* (更新後) | 002 | 次郎 | « NULL » |
* (更新前) | 003 | 三郎 | 20000103 |
* (更新後) | 003 | 三郎 | « NULL » |
* (更新前) | 004 | 四郎 | 20000104 |
* (更新後) | 004 | 四郎 | « NULL » |
特定の行のみを更新する場合はwhere句で条件を絞る
先ほどのSQLの場合はすべてNULLに更新してしまいます。
特定の行のみを置き換える場合はwhere句で条件を絞り、実施します。
以下のSQLでは、番号02のデータの生年月日のみNULLに更新します。
UPDATE testtable SET 生年月日 = NULL where 番号 = '002';
SELECT * from testtable
(状態) | 番号 | 名前 | 生年月日 |
---|---|---|---|
001 | 太郎 | 20000101 | |
* (更新前) | 002 | 次郎 | 20000102 |
* (更新後) | 002 | 次郎 | « NULL » |
003 | 三郎 | 20000103 | |
004 | 四郎 | 20000104 |
コメントを残す