SQLを使うときにNULLに更新したいことやNULLである項目を更新したいことはありませんか?今回はUPDATE文でのNULLの使用方法を解説します。
UPDATE文でのNULLの使用方法を確認しよう!
NULLとは
NULL(ヌル、ナル)は特殊な値であり、データが存在しないという意味を持ちます。文字列の空文字(”)や数値の0とは異なる特殊な値です。そのため、NULLの取り扱いには十分に注意する必要があります。
SELECT文でのNULLの取り扱い方法はこちらをご覧ください。
NULL値を持つデータのUPDATE
NULLのデータのUPDATE方法
NULLであるデータをUPDATEするにはIS NULLを使います。
UPDATE TABLE_NAME SET column_name1 = 'value' WHERE column_name2 IS NULL
例としてスポーツテーブルからスポーツの列がNULLのデータを更新します。
テーブルの内容
テーブル(SPORTSTABLE)の一覧を見てみましょう。
SELECT * FROM SPORTSTABLE;
ID NAME SPORTS
------------------
0001 YAMADA SOCCER
0002 TANAKA BASEBALL
0003 PENCHAN NULL
ID:0003, NAME:PENCHAN のSPORTSの項目がNULLになっています。このレコードを更新してみましょう。
SQL
UPDATE SPORTSTABLE SET SPORTS = 'SOCCER' WHERE SPORTS IS NULL;L;
上記のSQLはSPORTSの項目がNULLになっているレコードをSOCCERに更新するものです。
SQLの実行結果
UPDATE SPORTSTABLE SET SPORTS = 'SOCCER' WHERE SPORTS IS NULL;
SELECT * FROM SPORTSTABLE;
ID NAME SPORTS
------------------
0001 YAMADA SOCCER
0002 TANAKA BASEBALL
0003 PENCHAN SOCCER
SPORTSの項目がNULLになっているレコードがSOCCERに更新されています。
NULLにデータをUPDATEする方法
NULLにデータをUPDATEするには= NULLを使います。
UPDATE TABLE_NAME SET column_name1 = NULL WHERE column_name2 = 'value'
例としてスポーツテーブルのスポーツの列をNULLにデータを更新します。
テーブルの内容
SELECT * FROM SPORTSTABLE;
ID NAME SPORTS
------------------
0001 YAMADA SOCCER
0002 TANAKA BASEBALL
0003 PENCHAN SOCCER
ID:0003, NAME:PENCHAN のSPORTSの項目をSOCCERからNULLに更新してみましょう。
SQL
UPDATE SPORTSTABLE SET SPORTS = NULL WHERE SPORTS = 'SOCCER';
上記のSQLはSPORTSの項目がSOCCERになっているレコードをNULLに更新するものです。
SQLの実行結果
UPDATE SPORTSTABLE SET SPORTS = NULL WHERE SPORTS = 'SOCCER';
SELECT * FROM SPORTSTABLE;
ID NAME SPORTS
------------------
0001 YAMADA SOCCER
0002 TANAKA BASEBALL
0003 PENCHAN NULL
SPORTSの項目がSOCCERであったレコードがNULLに更新されています。
まとめ
SQLを使うときにNULLに更新したいことやNULLである項目を更新したいことがあると思います。そんなときは今回の方法を思い出してSQLを実行してみてください。
UPDATE文でのNULLの使用方法を確認したよ!