PostgreSQL: använda null och inte null klausuler

okända värden i databastabellen behandlas olika av SQL. När ett eller flera fält i en tabell måste ställas in tomt används null-nyckelordet vid tidpunkten för tabellskapande och NULL-värde kan användas för att välja eller infoga eller uppdatera data i tabellen. NULL-värdet anger inte noll eller tomt värde. Det används främst för det fältet där värdet saknas eller är okänt eller inget värde är tillämpligt. Men om något fält i en tabell måste ange obligatoriskt måste du använda inte null nyckelord under tiden för tabellskapande. Hur du kan använda null och inte NULL-klausuler i PostgreSQL för att köra select, insert, update och delete SQL-satser visas i denna handledning.

Skapa tabell med NULL och inte NULL

skapa tabellföretag
( company_id int inte NULL primärnyckel,
namn varchar(40) inte NULL,
adress varchar(150),
telefon röding(20),
land varchar(50),
website_url varchar(50) null );

skapa tabellobjekt
(item_id SERIAL,
namn varchar (40) standard (’inte tilldela’),
kvantitet int NULL,
company_id INT,
primärnyckel (item_id),
utländsk nyckel (company_id) referenser företag (company_id) );

infoga vissa Data i tabeller:

infoga i Företagstabell:

infoga i företaget (company_id, namn, adress, telefon, land, website_url)
värden (1, ’Samsung’, ’123….’, ’+337277888’, ’Korea’, ’www.samsung.com’);
infoga i företaget(company_id, namn, adress, telefon, land, website_url)
värden (2, ’Symphony’, ’67/a ….’, ’+42343567’, ’Chaina’, ’www.symphony.com’);
infoga i företaget (company_id, namn, adress, telefon, land)
värden (3, ’LG’, ’45/B ….”, ”, ”Japan’);

infoga i objekt tabell:

infoga i objekt (namn, kvantitet, company_id)
värden (’LG 122’, 4000,3 );
infoga i objekt (namn, kvantitet, company_id)
värden (’Samsung 460’, 7000, 1 );
infoga i objekt (namn, kvantitet, company_id)
värden (’Symphony E80’, 2200,2 );

exempel-1: Använda NULL och inte NULL I SELECT Query

a) NULL

följande fråga hämtar alla namn-och adressdata från företagstabell där website_url-värdet är null. Det finns bara en post där website_url-värdet är NULL.

välj namn, adress
från företag
där website_url är NULL;

b) inte NULL

utmatningen av inte NULL är motsatt av NULL. Följande select-fråga returnerar alla poster från företagstabellen där fältet website_url innehåller data.

välj namn, telefon
från företag
där website_url inte är NULL;

exempel-2: Använda NULL eller inte NULL i Infoga fråga

följande fråga kommer att infoga company_id-värde från företagstabell till items-tabell som inte har något website_url-värde. Det finns en post i företag där website_url är NULL. Så, en post kommer att infogas efter att ha utfört frågan.

infoga i objekt
(company_id)
välj company_id
från företag
där website_url är NULL;

exempel-3: Använda NULL i UPPDATERINGSFRÅGA

namnfält värdet av objekt tabellen uppdateras vilken post innehåller NULL i kvantitetsfältet. Enligt uppgifterna kommer en post att uppdateras efter att ha utfört frågan.

Uppdatera objekt
ange namn = ’Nytt värde’
där kvantitet NULL;

exempel-4: Använda NULL eller inte NULL i UPPDATERINGSFRÅGA

följande fråga tar bort poster från objekttabellen där kvantitetsvärdet är NULL. Det finns bara en post i artikeltabellen där kvantitetsvärdet är NULL. Så, en post kommer att raderas efter att ha utfört frågan.

ta bort från objekt
där kvantitet är NULL;

du kan använda null-och inte NULL-klausuler med where-klausul för att utföra alla frågor baserade på tabellen om tabellen innehåller något NULL-värde. Men NULL-värde och tom sträng är inte identiska. Om du skapar något fält i tabellen utan null-alternativet och behåller tomma data i det fältet fungerar NULL-klausulen inte för det fältet. Du kan använda null-klausul för alla tabeller baserat på tabellstrukturen.

Lämna ett svar

Din e-postadress kommer inte publiceras.