PostgreSQL: použití null a NOT NULL klauzule

neznámé hodnoty databázové tabulky jsou zpracovány odlišně SQL. Když je třeba jedno nebo více polí tabulky nastavit prázdné, použije se Klíčové slovo NULL v době vytvoření tabulky a hodnota NULL může být použita pro výběr nebo vložení nebo aktualizaci dat tabulky. Hodnota NULL neoznačuje nulovou nebo prázdnou hodnotu. Používá se hlavně pro pole, kde hodnota chybí nebo není známa nebo není použitelná. Pokud však musí být libovolné pole tabulky povinné, musíte během vytváření tabulky použít klíčové slovo NOT NULL. Jak můžete v PostgreSQL použít klauzule NULL a NOT NULL ke spuštění příkazů SELECT, insert, update a delete SQL, jsou uvedeny v tomto tutoriálu.

vytvořit tabulku pomocí NULL a NOT NULL

vytvořit tabulku společnost
( company_id int NOT NULL primární klíč,
název varchar(40) NOT NULL,
adresa varchar(150),
telefon char(20),
země varchar (50),
website_url varchar (50 )NULL);

vytvořit položky tabulky
( item_id SERIAL,
name varchar(40) DEFAULT(‚not Assign‘),
quantity int NULL,
company_id INT,
PRIMARY KEY (item_id),
FOREIGN KEY (company_id) reference company (company_id) );

vložte Některá Data do tabulek:

vložte do tabulky společnosti:

vložit do společnosti (company_id, jméno, adresa, telefon, země, website_url)
hodnoty (1, ‚Samsung‘, ‚123….“, „+337277888“, „Korea“, „www.samsung.com“);
vložit do společnosti (company_id, jméno, adresa, telefon, země, website_url)
hodnoty (2, ‚Symphony‘, ’67/A ….“, „+42343567“, „Chaina“, „www.symphony.com‘);
vložit do společnosti (company_id, jméno, adresa, telefon, země)
hodnoty (3, ‚LG‘, ’45/B ….“, „, „Japonsko‘);

vložit do tabulky položek:

vložit do položek (název, množství, company_id)
hodnoty (‚LG 122‘, 4000,3);
vložit do položek (název, množství, company_id)
hodnoty (‚Samsung 460‘, 7000, 1) ;
vložit do položek (název, množství, company_id)
hodnoty (‚Symphony E80‘, 2200,2 );

Příklad-1: Použití NULL a NOT NULL v SELECT Query

a) NULL

následující dotaz načte všechna data jména a adresy z tabulky společnosti, kde je hodnota website_url null. Existuje pouze jeden záznam, kde je hodnota website_url NULL.

vyberte název, adresu
z firmy
kde website_url je NULL;

b) NOT NULL

výstup NOT NULL je opačný než NULL. Následující dotaz select vrátí všechny záznamy z firemní tabulky, kde pole website_url obsahuje všechna data.

vyberte název, telefon
z firmy
kde website_url není NULL;

příklad-2: Použití NULL nebo NOT NULL v vložit dotaz

následující dotaz vloží hodnotu company_id z tabulky společnosti do tabulky položek, která nemá hodnotu website_url. Existuje jeden záznam ve společnosti, kde website_url je NULL. Po provedení dotazu bude tedy vložen jeden záznam.

vložit do položek
(company_id)
vyberte company_id
z company
kde website_url je NULL;

příklad-3: Použití NULL v aktualizačním dotazu

název pole hodnota položek tabulka bude aktualizována který záznam obsahuje pole NULL v množství. Podle údajů bude po provedení dotazu aktualizován jeden záznam.

aktualizovat položky
SET name = ‚Nová hodnota‘
kde množství NULL;

příklad-4: Použití NULL nebo NOT NULL v aktualizačním dotazu

následující dotaz odstraní záznamy z tabulky položek, kde hodnota množství je NULL. V tabulce položek je pouze jeden záznam, kde hodnota množství je NULL. Jeden záznam bude tedy po provedení dotazu smazán.

odstranit z položek
kde množství je NULL;

klauzule NULL a NOT NULL můžete použít s klauzulí WHERE pro provedení jakéhokoli dotazu založeného na tabulce, pokud tabulka obsahuje libovolnou hodnotu NULL. Hodnota NULL a prázdný řetězec však nejsou totožné. Pokud vytvoříte libovolné pole tabulky bez možnosti NULL a ponecháte v tomto poli prázdná data, klauzule NULL nebude pro toto pole fungovat. Klauzuli NULL můžete použít pro libovolnou tabulku založenou na struktuře tabulky.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.