Introduktion
Der er flere grunde til, at du måske vil tjekke, om en kolonne er NULL
i MySQL:
-
Til filtrere forespørgselsresultater – Du ønsker måske at ekskludere rækker med
NULL
værdier fra dine forespørgselsresultater. For eksempel ønsker du måske at få en liste over alle brugere, der har angivet deres e-mailadresser, men ekskluderer dem, der ikke har. -
Til opdatere eller slette rækker – Du vil måske kun opdatere eller slette de rækker, der har
NULL
værdier i en bestemt kolonne. For eksempel vil du måske angive en pladsholderværdi for alle brugere, der ikke har angivet en. -
Til håndtere manglende data - I mange tilfælde,
NULL
værdier kan indikere fejlagtigt manglende eller ukendte data. Tjekker efterNULL
værdier kan hjælpe dig med at håndtere disse data korrekt i din applikation. -
Til håndhæve dataintegritet – Du vil måske sikre dig, at visse kolonner ikke er det
NULL
for at bevare integriteten af dine data. For eksempel vil du måske sikre, at alle brugere har en ikke-NULL
email adresse.
Samlet set tjekker for NULL
værdier kan være en vigtig del af arbejdet med data i MySQL.
I denne korte artikel tager vi et kig på hvad
NULL
i MySQL er, og hvordan man kontrollerer, om en kolonne erNULL
. Derudover vil vi gennemgå et eksempel på en forespørgsel, der finder beggeNULL
og tomme felter i den angivne kolonne.
Hvad er NULL i MySQL
I MySQL, NULL
er en særlig værdi, der repræsenterer fravær af en værdi. Det er ikke det samme som en tom streng eller tallet 0, for eksempel.
En kolonne i en MySQL-tabel kan defineres som NULL
, hvilket betyder, at den kan opbevare NULL
værdier. Dette er forskelligt fra en kolonne, der er defineret som NOT NULL
, hvilket betyder, at den ikke kan opbevares NULL
værdier og skal gives en værdi, når en ny række indsættes i tabellen, for at der ikke opstår en fejl.
Sådan kontrolleres, om en kolonne er NULL i MySQL
Nu kan vi hoppe på den faktiske forespørgsel, der vil filtrere alt fra NULL
værdier fra eksempelkolonnen. For at kontrollere, om en kolonne er NULL
i MySQL kan du bruge IS NULL
operatør:
SELECT * FROM table_name WHERE column_name IS NULL;
Dette vil returnere alle rækker fra table_name
hvor værdien er i column_name
is NULL
.
Du kan også bruge IS NOT NULL
operatør for at kontrollere for ikke-NULL
værdier:
SELECT * FROM table_name WHERE column_name IS NOT NULL;
Dette vil returnere alle rækker fra table_name
hvor værdien er i column_name
er ikke NULL
.
Bemærk: Husk på, at NULL
er en speciel værdi i MySQL, der repræsenterer fraværet af en værdi. Det er ikke det samme som en tom streng eller tallet 0.
Derudover kan vi tage os af alle specielle værdier, der kan repræsentere fravær af kolonneindtastningen (NULL
, 0
, og tom streng) i en enkelt forespørgsel:
SELECT * FROM table_name WHERE column_name IS NULL OR column_name = '' OR column_name=0;
Dette vil filtrere alle rækker fra table_name
hvor værdien er i column_name
er en af følgende: NULL
, 0
eller en tom streng.
Konklusion
Afslutningsvis kan du kontrollere, om en kolonne er null i MySQL, ved hjælp af IS NULL
operatør i en SELECT
udmelding. Denne operatør kan bruges i en WHERE
klausul for at filtrere resultatsættet og kun returnere rækker, hvor den angivne kolonne er NULL
.
Det er også muligt at bruge IS NOT NULL
operator for at returnere rækker, hvor kolonnen ikke er NULL
. Det er vigtigt at bemærke det NULL
værdier repræsenterer manglende eller ukendte data, og de er forskellige fra nul eller en tom streng. Ved at bruge IS NULL
, IS NOT NULL
operatører, du effektivt kan håndtere NULL
værdier i dine MySQL-forespørgsler og sikre, at dine resultater er nøjagtige og meningsfulde.