Sqlite ikke null begrensning

Sqlite ikke null begrensning

Begrensninger sies å være begrensninger eller begrensninger som brukes på spesifikke kolonner i en tabell. Noen ganger refererer det til de ekstra privilegiene som er tilordnet de bestemte kolonnene. En av de begrensningene er ikke nullbegrensninger i SQL -databasen. Uansett hvilken kolonne som er spesifisert med NOT NULL -begrensningen, kan ikke den kolonnen ikke ligge uten en verdi. Dermed har vi bestemt oss for å dekke bruken av NOT NULL -begrensningen i SQLite -databasen mens vi implementerer denne artikkelen på Ubuntu 20.04. Før vi går til illustrasjonen av å bruke NOLL-begrensningen i SQLite-databasen, må vi åpne Ubuntu-terminalen via CTRL+ALT+T-instruksjonen og oppdatere og oppgradere systemet vårt ved å bruke den vist-below-instruksjonen.

Sørg for å ha SQLite C-Library av SQL som allerede er installert på Linux-systemet ditt. Etter det må du starte den i skallterminalen med bruk av nøkkelordet “SQLite3”. Det statiske skallet vil bli åpnet i skallet til Ubuntu 20.04 for SQLite -databasen.

La oss liste opp alle tabellene som finnes i SQLite -databasen. Dermed vil vi prøve “.tabeller ”instruksjon om å gjøre det. Sqlite3 -databasen inneholder ikke noen database ennå (i.e. ifølge ".tabeller ”instruksjon.)

Begrensningene kan bare brukes på kolonnene i en tabell. Hvis vi ikke har noe bord, har vi ingen kolonner. Dermed ingen begrensninger. Derfor må vi lage en tabell i databasen som vi kan bruke NOLL -begrensningen. Så databasen lar oss bruke CREATE TABLE -instruksjonen for å opprette en tabell med navnet "Test". Denne tabellen vil inneholde totalt 2 kolonner “ID” og “Navn”. Kolonne -IDen vil være av heltallstype og vil bli brukt som en primærnøkkel for tabellen. Kolonnen "Navn" vil være av teksttype og må ikke være null i henhold til bruken av den ikke -nullbegrensningen som er spesifisert på tidspunktet for å lage en tabell. Nå har vi en ny tabell “Test” i databasen i henhold til “.tabeller ”instruksjon.

Bruken av utvalgte instruksjoner for å hente postene til en testtabell viser at tabellen er tom akkurat nå. Så vi må legge til noen poster til det først.

>> Velg * fra test;

\

Vi vil bruke SQLs innsats i instruksjon etterfulgt av navnet på en tabell og dens kolonne for å sette inn dataregistreringene i kolonnene sine. Du må legge til poster etter "verdiene" nøkkelordet etterfulgt av de enkle parentesene som har totalt 10 poster. Ingen post er spesifisert null for kolonnen "Navn" så langt som presentert nedenfor.

Sett inn test (ID, Navn) verdier (1, "George"), (2, "Bella"), (3, "Paul"), (4, "Johny"),
(5, "Ketty"), (6, "Angelina"), (7, "Nina"), (8, "Dilraba"), (9, "Tom"), (10, "Tyalor");
Sett inn i test (id, navn) verdier (11, ""), (12, "");
Sett inn i test (ID, navn) verdier (11), (12);
Sett inn i test (ID, navn) verdier (13, null), (14, null);

Etter å ha satt inn postene i testtabellen, har vi prøvd Select -instruksjonen for å vise alle dataene på SQLite -skallet vårt. Den viste 10 poster for ID- og navnekolonnen.

>> Velg * fra test;

La oss se hvordan Not Null -begrensningen reagerer på rommene og null -nøkkelordet mens du setter inn data i kolonnen "Navn" på testtabellen. Så vi har brukt den tomme verdien "" stedet for "Navn" -kolonnen i verdiene del av innsatsen i instruksjonen. Posten har blitt lagt til tabelltesten. Etter å ha brukt Select -instruksjonen på skallet, har vi funnet ut at den har vist noe for kolonne “Navn” på poster 11 og 12 og tatt plass som en ikke nullverdi.

Hvis du prøver innsatsen i instruksjon med bruk av kolonnenavn som inneholder en begrensning som ikke er null og ikke legger til verdien for en bestemt kolonne, vil den kaste en feil: “1 verdier for 2 kolonner” som presentert nedenfor. For å fjerne denne feilen, må du sette en verdi for kolonnen "Navn" og ikke la den være tom.

La oss legge null -nøkkelordet i verdiene en del av innsatsen i instruksjon for å legge til nullpostene for kolonnen "Navn" som inneholder NOT NULL -begrensningen. Utførelse av denne instruksjonen med null -nøkkelordet kaster en feil “Ikke nullbegrensning mislyktes: Test.Navn". Dette betyr at vi ikke kan sette null som en verdi til kolonnen "navn" på grunn av at det ikke er nullbegrensningsbegrensning.

La oss se på et annet eksempel. Så vi har opprettet en ny tabellaktør med de tre kolonnene ID, navn og alder via Create Table Instruction. Ingen av kolonnene inneholder en ikke nullbegrensning for den.

>> Opprett tabellaktør (id int primærnøkkel, navnetekst, alder Int);

Akkurat nå er bordskuespilleren tom i henhold til den utvalgte "*" -instruksjonen nedenfor.

>> Velg * fra skuespiller;

Vi må legge noen poster i tabellen "skuespiller" først med innsatsen i instruksjon. Så vi har lagt til 5 poster for alle tre kolonnene: ID, navn og alder.

>> sett inn i skuespiller (ID, navn, alder) verdier (1, "Julia", 49), (2, "Angelina", 49),
(3, "Leonardo", 50), (4, "Tom", 55);

Vi har prøvd Select Instruction for å hente alle de nylig tilførte platene til et "skuespiller" -bord. Totalt er 5 poster blitt vist på skjermen vår uten nullverdier.

>> Velg * fra skuespiller;

La oss legge til en ny plate i skuespillertabellen som inneholder en nullverdi ved å bruke innsatsen i instruksjon. Så vi har prøvd instruksjonen for alle de 3 kolonnene og lagt til en nullverdi for kolonnen "Age". Rekorden er blitt satt inn i tabellen og kastet ikke noen feil fordi vi ikke har satt noen NULL -begrensning for noen av kolonnene i en tabell "skuespiller". Bruken av utvalgte instruksjoner for bordskuespilleren har vist alle de første 5 ekstra postene og den 6. posten med en nullverdi i kolonnen “Age”.

>> sett inn i skuespiller (ID, navn, alder) verdier (1, "EMA Watson", null)
> Velg * fra skuespiller;

Konklusjon:

Så dette handlet om bruk av ikke nullbegrensninger for spesifikke kolonner med SQLite -tabeller. Vi har demonstrert hvordan databasen reagerer på å ikke sette verdiene i kolonnene med ikke nullbegrensninger og hvordan vi kan bruke nullverdien med kolonneverdiene.