【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 |






コメントを残す