Wat jy moet weet oor NULL waardes

Verstaan ​​die gebruik van NULLs om databasisprobleme te voorkom

Gebruikers wat nuut is in die wêreld van databasisse, word dikwels verwar deur 'n spesiale waarde wat spesifiek vir die veld is - die NULL waarde. Hierdie waarde kan gevind word in 'n veld wat enige tipe data bevat en het 'n baie spesiale betekenis binne die konteks van 'n relationele databasis. Dit is waarskynlik die beste om ons bespreking van NULL met 'n paar woorde te begin oor wat NULL nie is nie :

Inteendeel, NULL is die waarde wat gebruik word om 'n onbekende stuk data voor te stel. Dikwels sal databasisprogrammeerders die frase 'n NULL-waarde 'gebruik, maar dit is verkeerd. Onthou: 'n NULL is 'n onbekende waarde waarin die veld leeg bly.

NULL in die regte wêreld

Kom ons kyk na 'n eenvoudige voorbeeld: 'n tafel wat die voorraad bevat vir 'n vrugstand. Gestel ons voorraad bevat 10 appels en drie lemoene. Ons het ook pruime, maar ons voorraadinligting is onvolledig en ons weet nie hoeveel (indien enige) pruime in voorraad is nie. Deur die NULL-waarde te gebruik, sal ons die voorraad tabel in die tabel hieronder hê.

Vrugte Staan Inventaris

InventoryID item hoeveelheid
1 appels 10
2 lemoene 3
3 pruime NUL


Dit sou duidelik verkeerd wees om 'n hoeveelheid van 0 vir die pruime-rekord in te sluit, want dit sou beteken dat ons geen pruime in voorraad gehad het nie. Inteendeel, ons het dalk pruime, maar ons is net nie seker nie.

Tot NULL of NIE NUL?

'N Tabel kan ontwerp word om NULL waardes toe te laat of nie.

Hier is 'n SQL-voorbeeld wat 'n voorraad tabel skep wat sommige NULL's toelaat:

SQL> CREATE TABLE INVENTORY (InventarisID INT NOT NULL, Item VARCHAR (20) NIE NULL, Hoeveelheid INT);

In die Inventaris tabel hier word nie NULL waardes vir die InventarisID en die kolomme Item toegelaat nie , maar laat hulle toe vir die hoeveelheid kolom.

Alhoewel die toelaat van 'n NULL-waarde perfek goed is, kan NULL-waardes probleme veroorsaak, want enige vergelyking van waardes in watter een is NULL lei altyd tot NULL.

Om seker te maak of jou tabel NULL-waardes bevat, gebruik die IS NULL of IS NOT NULL-operateur. Hier is 'n voorbeeld van IS NULL:

SQL> SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY WHERE QUANTITY IS NOT NULL;

Gegee ons voorbeeld hier, sal dit terugkeer:

InventoryID item hoeveelheid
3 pruime

Bedryf op NULLs

Werk met NULL waardes lewer dikwels NULL resultate, afhangende van die SQL-operasie . Byvoorbeeld, veronderstel A is NULL:

Rekenkundige Operateurs

Vergelyking Operateurs

Dit is slegs 'n paar voorbeelde van operateurs wat NULL altyd sal terugkeer as een operand NULL is. Baie meer komplekse navrae bestaan, en almal is ingewikkeld deur NULL waardes. Die tuispunt is dat as jy NULL-waardes in jou databasis toelaat, verstaan ​​die implikasies en planne vir hulle.

Dit is NULL in 'n neutedop!