Как найти строки с пустым значением столбца в таблице MySQL/MariaDB (в phpMyAdmin и в командной строке)
Как найти строки с пустым значением столбца в phpMyAdmin
Предположим, вы хотите найти в таблице строки, в которых значение определенного столбца пусто. Для этого попробуйте использовать поиск по таблицам в phpMyAdmin.
Если вы перейдете на вкладку «Поиск» в phpMyAdmin и нажмете кнопку «Перейти», не вводя никаких значений (так как вам нужно найти пустую строку), то это не произойдет. работа – будет отображена вся таблица.
Однако phpMyAdmin имеет возможность находить строки с пустыми значениями полей. Для этого в качестве «Оператора» поля, пустые значения которого вы ищете, выберите следующее:
= ''
Это отобразит строки с пустым значением поля.
Есть еще один способ найти значения пустых полей. Для этого выберите «REGEXP» в качестве «Оператора» поля, пустые значения которого вы ищете, и введите следующее в качестве «Значение”:
^$
REGEXP означает использование регулярных выражений для поиска. А символы «^$» означают «пустую строку».
В результате будут показаны строки с пустым значением поля.
SQL-запрос для поиска строк с пустым значением столбца в MySQL/MariaDB
Следующий запрос ищет в таблице TestTABLE строки, в которых значение столбца test_column пусто (обратите внимание, что здесь и ниже в конце запроса нет ни одной двойной кавычки, но две одинарные кавычки):
SELECT * FROM `TestTABLE` WHERE `test_column` = '';
Вместо знака равенства можно использовать оператор LIKE – в этом случае смысл SQL-запросов идентичен:
SELECT * FROM `TestTABLE` WHERE `test_column` LIKE '';
См. также: В чем разница между оператором LIKE и знаком равенства (=) в MySQL/MariaDB. Как использовать LIKE в SQL
Пустая строка в регулярных выражениях обозначается как ^$, то есть при желании вы можете использовать следующий запрос с REGEXP для поиска пустых строк:
SELECT * FROM `TestTABLE` WHERE `test_column` REGEXP '^$';