Wprowadzenie
Istnieje kilka powodów, dla których warto sprawdzić, czy kolumna jest NULL
w MySQL:
-
Do filtrować wyniki zapytania – Możesz chcieć wykluczyć wiersze z
NULL
wartości z wyników zapytania. Na przykład możesz chcieć uzyskać listę wszystkich użytkowników, którzy podali swoje adresy e-mail, ale wykluczyć tych, którzy tego nie zrobili. -
Do aktualizować lub usuwać wiersze – Możesz chcieć zaktualizować lub usunąć tylko te wiersze, które mają
NULL
wartości w określonej kolumnie. Na przykład możesz chcieć ustawić wartość zastępczą dla wszystkich użytkowników, którzy jej nie podali. -
Do obsłużyć brakujące dane - W wielu przypadkach,
NULL
wartości mogą wskazywać na błędnie brakujące lub nieznane dane. Sprawdzanie dlaNULL
wartości mogą pomóc w odpowiedniej obsłudze tych danych w aplikacji. -
Do egzekwować integralność danych – Możesz chcieć upewnić się, że niektóre kolumny nie są
NULL
w celu zachowania integralności Twoich danych. Na przykład możesz chcieć upewnić się, że wszyscy użytkownicy mająNULL
adres e-mail.
Ogólnie rzecz biorąc, sprawdzanie NULL
wartości mogą być ważną częścią pracy z danymi w MySQL.
W tym krótkim artykule przyjrzymy się, co
NULL
w MySQL jest i jak sprawdzić, czy kolumna jestNULL
. Ponadto omówimy przykładowe zapytanie, które znajduje oba elementyNULL
i puste pola w określonej kolumnie.
Co to jest NULL w MySQLu
W MySQL, NULL
jest specjalną wartością, która reprezentuje brak wartości. To nie to samo, co na przykład pusty ciąg znaków lub liczba 0.
Kolumnę w tabeli MySQL można zdefiniować jako NULL
, co oznacza, że może przechowywać NULL
wartości. Różni się to od kolumny zdefiniowanej jako NOT NULL
, co oznacza, że nie może przechowywać NULL
wartości i musi zostać podana wartość, gdy nowy wiersz jest wstawiany do tabeli, aby nie został zgłoszony błąd.
Jak sprawdzić, czy kolumna jest NULL w MySQLu
Teraz możemy przejść do rzeczywistego zapytania, które odfiltruje wszystkie NULL
wartości z przykładowej kolumny. Aby sprawdzić, czy kolumna jest NULL
w MySQL możesz użyć IS NULL
operator:
SELECT * FROM table_name WHERE column_name IS NULL;
Spowoduje to zwrócenie wszystkich wierszy z table_name
gdzie wartość w column_name
is NULL
.
Można również użyć IS NOT NULL
operatora, aby sprawdzić, czy nieNULL
wartości:
SELECT * FROM table_name WHERE column_name IS NOT NULL;
Spowoduje to zwrócenie wszystkich wierszy z table_name
gdzie wartość w column_name
nie jest NULL
.
Uwaga: Należy pamiętać, że NULL
jest specjalną wartością w MySQL, która reprezentuje brak wartości. To nie to samo, co pusty ciąg znaków lub liczba 0.
Dodatkowo możemy zadbać o wszystkie wartości specjalne, które mogą reprezentować brak wpisu w kolumnie (NULL
, 0
i pusty ciąg) w jednym zapytaniu:
SELECT * FROM table_name WHERE column_name IS NULL OR column_name = '' OR column_name=0;
Spowoduje to odfiltrowanie wszystkich wierszy z table_name
gdzie wartość w column_name
jest jednym z następujących: NULL
, 0
lub pusty ciąg.
Wnioski
Podsumowując, sprawdzenie, czy kolumna jest pusta w MySQL, można wykonać za pomocą IS NULL
operator w A SELECT
oświadczenie. Ten operator może być użyty w WHERE
klauzula, aby filtrować zestaw wyników i zwracać tylko wiersze, w których znajduje się określona kolumna NULL
.
Możliwe jest również użycie IS NOT NULL
operator, aby zwrócić wiersze, w których nie ma kolumny NULL
. Ważne jest, aby to zauważyć NULL
wartości reprezentują brakujące lub nieznane dane i są różne od zera lub pustego ciągu. za pomocą IS NULL
i IS NOT NULL
operatorów, możesz skutecznie obsłużyć NULL
wartości w zapytaniach MySQL i upewnij się, że wyniki są dokładne i znaczące.