MySQL JE NULL & Výukový program NIE JE NULL s PRÍKLADMI

Obsah:

Anonim

V SQL je hodnota Null hodnota aj kľúčové slovo. Najprv sa pozrime na hodnotu NULL -

Null ako hodnota

Zjednodušene povedané, NULL je jednoducho držiteľom údajov, ktoré neexistujú. Pri vykonávaní operácií vloženia do tabuliek to budú časy, keď niektoré hodnoty polí nebudú k dispozícii.

Za účelom splnenia požiadaviek skutočných systémov správy relačných databáz používa MySQL ako zástupcu pre hodnoty, ktoré neboli zadané, NULL. Screenshot nižšie ukazuje, ako vyzerajú hodnoty NULL v databáze.

Pozrime sa teraz na niektoré základné informácie o NULL, kým prejdeme ďalej do diskusie.

  • NULL nie je dátový typ - znamená to, že nie je rozpoznaný ako „int“, „dátum“ alebo iný definovaný dátový typ.
  • Aritmetické operácie zahŕňajúce NULL vždy vrátia NULL, napríklad 69 + NULL = NULL.
  • Všetky agregačné funkcie ovplyvňujú iba riadky, ktoré nemajú hodnoty NULL .

Poďme si teraz demonštrovať, ako funkcia počítania zaobchádza s nulovými hodnotami. Pozrime sa na aktuálny obsah tabuľky členov-

SELECT * FROM `members`;

Vykonanie vyššie uvedeného skriptu nám prinesie nasledujúce výsledky

 
membership_ number full_ names gender date_of_ birth physical_ address postal_ address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Spočítajme všetkých členov, ktorí si aktualizovali svoje kontaktné číslo

SELECT COUNT(contact_number) FROM `members`;

Vykonaním vyššie uvedeného dotazu získate nasledujúce výsledky.

 
COUNT(contact_number)
7

Poznámka: Hodnoty, ktoré majú hodnotu NULL, neboli zahrnuté

Čo NIE?

Logický operátor NOT sa používa na testovanie logických podmienok a vráti hodnotu true, ak je podmienka nepravdivá. Operátor NOT vráti hodnotu false, ak je testovaná podmienka pravdivá

Stav

NIE Výsledok operátora

Pravdaže

Falošné

Falošné

Pravdaže

Prečo používať NOT null?

Budú prípady, keď budeme musieť vykonať výpočty na množine výsledkov dotazu a vrátiť hodnoty. Vykonanie akýchkoľvek aritmetických operácií na stĺpcoch, ktoré majú hodnotu NULL, vráti nulové výsledky. Aby sa zabránilo takýmto situáciám, môžeme na obmedzenie výsledkov, na ktorých fungujú naše údaje, použiť doložku NOT NULL.

NIE NULL Hodnoty

Predpokladajme, že chceme vytvoriť tabuľku s určitými poľami, ktorým by sa pri vkladaní nových riadkov do tabuľky mali vždy dodávať hodnoty. Pri vytváraní tabuľky môžeme na danom poli použiť klauzulu NOT NULL.

Príklad zobrazený nižšie vytvára novú tabuľku, ktorá obsahuje údaje zamestnancov. Vždy by sa malo uviesť číslo zamestnanca

CREATE TABLE `employees`(employee_number int NOT NULL,full_names varchar(255) ,gender varchar(6));

Skúsme teraz vložiť nový záznam bez uvedenia mena zamestnanca a uvidíme, čo sa stane.

INSERT INTO `employees` (full_names,gender) VALUES ('Steve Jobs', 'Male');

Vykonanie vyššie uvedeného skriptu v pracovnom stole MySQL spôsobí nasledujúcu chybu -

NULL Kľúčové slová

NULL možno tiež použiť ako kľúčové slovo pri vykonávaní booleovských operácií s hodnotami, ktoré zahŕňajú NULL. Kľúčové slovo „IS / NOT“ sa na tieto účely používa v spojení so slovom NULL. Ak sa ako kľúčové slovo použije null, základná syntax je nasledovná

`comlumn_name' IS NULL`comlumn_name' NOT NULL

TU

  • „IS NULL“ je kľúčové slovo, ktoré vykonáva boolovské porovnanie. Vráti hodnotu true, ak je zadaná hodnota NULL, a hodnotu false, ak zadaná hodnota nie je NULL.
  • „NOT NULL“ je kľúčové slovo, ktoré vykonáva boolovské porovnanie. Vráti hodnotu true, ak zadaná hodnota nemá hodnotu NULL, a hodnotu false, ak je zadaná hodnota nulová.

Pozrime sa teraz na praktický príklad, ktorý pomocou kľúčového slova NOT NULL eliminuje všetky hodnoty stĺpcov, ktoré majú nulové hodnoty.

Pokračovaním vyššie uvedeného príkladu predpokladajme, že potrebujeme podrobnosti o členoch, ktorých kontaktné číslo nie je neplatné. Môžeme vykonať dotaz ako

SELECT * FROM `members` WHERE contact_number IS NOT NULL;

Vykonanie vyššie uvedeného dotazu poskytne iba záznamy, kde kontaktné číslo nie je nulové.

Predpokladajme, že chceme záznamy členov, kde je kontaktné číslo nulové. Môžeme použiť nasledujúci dotaz

SELECT * FROM `members` WHERE contact_number IS NULL;

Vykonaním vyššie uvedeného dotazu získate podrobnosti o členovi, ktorého kontaktné číslo je NULL

 
membership_ number full_names gender date_of_birth physical_address postal_address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Porovnanie nulovej hodnoty s

Logika s tromi hodnotami - vykonávanie boolovských operácií za podmienok, ktoré zahŕňajú NULL, môže vrátiť hodnotu „Neznáme“, „Pravda“ alebo „Falošná“.

Napríklad použitie kľúčového slova „IS NULL“ pri porovnávacích operáciách zahŕňajúcich NULL môže vrátiť hodnotu true alebo false . Pri použití iných operátorov porovnania sa vráti hodnota „Neznáme“ (NULL).

Predpokladajme, že porovnáte číslo päť s 5

SELECT 5 =5;

Výsledok dotazu je 1, čo znamená PRAVDA

 
5 =5
1

Urobme rovnakú operáciu s NULL

SELECT NULL = NULL;
 
NULL = NULL
NULL

Pozrime sa na ďalší príklad

SELECT 5 > 5;
 
5> 5
0

Výsledok dotazu je 0, čo znamená FALSE

Pozrime sa na rovnaký príklad pomocou NULL

SELECT NULL > NULL;
 
NULL> NULL
NULL

Umožňuje použiť kľúčové slovo IS NULL

SELECT 5 IS NULL;
 
5 IS NULL
0

Výsledok dotazu je 0, čo je FALSE

SELECT NULL IS NULL;
 
NULL IS NULL
1

Výsledok dotazu je 1, čo je PRAVDA

Zhrnutie

  • NULL je držiteľ hodnoty pre voliteľné polia tabuľky.
  • MySQL zaobchádza s hodnotou NULL odlišne od iných dátových typov. Hodnoty NULL pri použití v podmienke sa vyhodnotia ako nepravdivá logická hodnota.
  • NOT logická operácia sa používa na testovanie boolovských hodnôt a vyhodnocuje sa ako true, ak je boolovská hodnota nepravdivá, a nepravdivá, ak je boolovská hodnota pravdivá.
  • Klauzula NOT NULL sa používa na vylúčenie hodnôt NULL z množiny výsledkov
  • Vykonanie aritmetických operácií s hodnotami NULL vždy vráti výsledky NULL.
  • Porovnávacie operátory ako [, = atď.] Nemožno použiť na porovnanie hodnôt NULL.