Postgres: brug af NULL-og IKKE NULL-klausuler

ukendte værdier i databasetabellen behandles forskelligt af databasetabellen. Når et eller flere felter i en tabel skal være tomme, bruges null-nøgleordet på tidspunktet for tabeloprettelse, og NULL-værdi kan bruges til at vælge eller indsætte eller opdatere data i tabellen. NULL værdi angiver ikke nul eller tom værdi. Det bruges hovedsageligt til det felt, hvor værdien mangler eller ukendt, eller ingen værdi er relevant. Men hvis et felt i en tabel skal indstilles obligatorisk, skal du bruge IKKE NULL-nøgleord i løbet af tabeloprettelsestidspunktet. Hvordan du kan bruge null-og IKKE NULL-klausuler til at køre select, insert, update og delete-sætninger vises i denne vejledning.

Opret tabel ved hjælp af NULL og IKKE NULL

Opret TABELFIRMA
( company_id int not NULL PRIMARY KEY,
navn varchar(40) IKKE NULL,
adresse varchar(150),
telefon char(20),
land varchar(50),
hjemmeside_url varchar(50) null );

Opret tabelelementer
(item_id SERIAL,
name varchar(40) standard(‘not Assign’),
antal int NULL,
company_id INT,
primær nøgle (item_id),
fremmed nøgle (company_id) referencer firma (company_id) );

indsæt nogle Data i tabeller:

Indsæt i Virksomhedstabel:

indsæt i firma (firma_id, navn, adresse, telefon, land, hjemmeside_url)
værdier (1, ‘Samsung’, ‘123….’, ‘+337277888′,’ Korea’, ‘www.samsung.com’);
indsæt i selskab (firma_id, navn, adresse, telefon, land, hjemmeside_url)
værdier (2, ‘Symphony’, ’67/a ….’, ‘+42343567′,’ kæde’, ‘www.symphony.com’);
indsæt i firma (firma_id, navn, adresse, telefon, land)
værdier (3, ‘LG’, ’45/B ….’, “, ‘Japan’);

Indsæt i elementer tabel:

indsæt i elementer (navn, mængde, company_id)
værdier (‘LG 122’, 4000,3);
indsæt i elementer (navn, mængde, company_id)
værdier (‘Samsung 460’, 7000, 1 );
indsæt i elementer (navn, mængde, firmatid)
værdier (‘Symphony E80’, 2200,2 );

eksempel-1: Brug af NULL og IKKE NULL i UDVÆLGELSESFORESPØRGSEL

a) NULL

følgende forespørgsel henter alle navn og adressedata fra virksomhedstabellen, hvor hjemmeside_url-værdien er null. Der er kun en post, hvor hjemmeside_url-værdien er NULL.

Vælg navn, adresse
fra firma
hvor hjemmeside_url er NULL;

b) IKKE NULL

udgangen af IKKE NULL er modsat af NULL. Følgende udvælgelsesforespørgsel returnerer alle poster fra virksomhedstabellen, hvor feltet hjemmeside_url indeholder data.

Vælg navn, telefon
fra firma
hvor hjemmeside_url ikke er NULL;

eksempel-2: Brug af NULL eller IKKE NULL i Indsæt forespørgsel

følgende forespørgsel indsætter company_id-værdi fra virksomhedstabel til elementtabel, der ikke har nogen hjemmeside_url-værdi. Der er en rekord i selskab, hvor hjemmeside_url er NULL. Så en post indsættes efter udførelse af forespørgslen.

Indsæt i emner
(company_id)
vælg company_id
fra company
hvor hjemmeside_url er NULL;

eksempel-3: Brug af NULL i OPDATERINGSFORESPØRGSEL

navn felt værdi af elementer tabel opdateres, hvilken post indeholder NULL i antal felt. Ifølge dataene opdateres en post efter udførelse af forespørgslen.

Opdater emner
sæt navn = ‘Ny værdi’
hvor mængde NULL;

eksempel-4: Brug af NULL eller IKKE NULL i OPDATERINGSFORESPØRGSEL

følgende forespørgsel sletter poster fra elementtabellen, hvor mængdeværdien er NULL. Der er kun en post i elementtabellen, hvor mængdeværdien er NULL. Så en post vil blive slettet efter udførelse af forespørgslen.

Slet fra varer
hvor mængden er NULL;

du kan anvende null-og IKKE NULL-klausuler med hvor-klausul til udførelse af en forespørgsel baseret på tabellen, hvis tabellen indeholder en NULL-værdi. Men NULL værdi og tom streng er ikke identiske. Hvis du opretter et felt i tabellen uden NULL mulighed og holde tomme data i dette felt så NULL klausul vil ikke arbejde for dette felt. Du kan anvende NULL-klausul for enhver tabel baseret på tabelstrukturen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.