2019-01-30
2020-12-17
MySQLでNULLや空文字を検索する

MySQLでNULLやから文字を検索したり、削除する方法を公開します。
なおサンプルのカラムのデータ型はVARCHARの場合です。
NULLだけ検索する
IS NULLでNULLのみを検索する事が可能です。
SELECT * FROM tbl_name WHERE カラム IS NULL;
NULLの値を消去する場合は以下のような形
select * from tags; +----+-----------+---------------------+---------------------+ | id | name | createdAt | updatedAt | +----+-----------+---------------------+---------------------+ | 1 | NULL | 2019-01-22 05:41:33 | 2019-01-22 05:41:33 | | 2 | NULL | 2019-01-22 05:41:59 | 2019-01-22 05:41:59 | | 3 | アプリ | 2019-01-22 05:42:05 | 2019-01-22 05:42:05 |
DELETE FROM tags WHERE name IS NULL;
select * from tags; +----+-----------+---------------------+---------------------+ | id | name | createdAt | updatedAt | +----+-----------+---------------------+---------------------+ | 3 | アプリ | 2019-01-22 05:42:05 | 2019-01-22 05:42:05 |
空の文字のみを対象とする
空文字はフォームの自由記入欄欄などを空欄で登録した場合など
あくまで空の文字になるため、NULLではありません。
以下の場合は空の文字のみ検索対象となります。
SELECT * FROM tbl_name WHERE カラム = '';
空の文字とNULL値が以外を検索
空の文字とNULL値が「以外」を検索する場合は、以下で設定を行います。
SELECT * FROM tbl_name WHERE カラム != '';
例えば以下でnameがNULLと空のレコードのみ消去されます。
DELETE FROM tags WHERE name != ''; +----+-----------+---------------------+---------------------+ | id | name | createdAt | updatedAt | +----+-----------+---------------------+---------------------+ | 1 | NULL | 2019-01-22 05:41:33 | 2019-01-22 05:41:33 | | 2 | | 2019-01-22 05:41:59 | 2019-01-22 05:41:59 | | 3 | アプリ | 2019-01-22 05:42:05 | 2019-01-22 05:42:05 |
NULL以外を検索
NULL以外の空文字とテキストを検索する場合は以下
SELECT * FROM tbl_name WHERE カラム IS NOT NULL;
以上になります
その他関連記事
MySQLでテーブルへカラムを追加するALTER TABLE ~ ADD
MySQLの外部結合(left outer join)の解説
Ruby on Railsでデータベースカラムの追加と削除を行う
DjangoでMySQLを利用する|初心者・独学者向け入門コンテンツ
Ruby on Railsでデータベースカラムの追加と削除を行う
あなたにお勧めの記事
前の記事
2019/02/20
次の記事
2018/09/21