Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Create og Begrensninger | DDL og DML i SQL
Videregående SQL

bookCreate og Begrensninger

Tidligere jobbet vi for ulike selskaper og utførte SELECT-spørringer etter deres behov. Nå må vi lære hvordan vi oppretter og endrer tabeller.

Tabeller opprettes ved hjelp av CREATE-setningen, som har en lignende struktur som SELECT-setningen, bortsett fra at i stedet for å velge data, opprettes data:

1234
CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
copy

Merk

Når du kjører disse eksemplene, vil du ikke få noe output fordi disse eksemplene kun oppretter en ny tabell. Hvis du kjører koden igjen, vil du få en feilmelding om at tabellen allerede finnes. Disse kodeeksemplene er kun demonstrasjoner, og senere i oppgaven vil data bli satt inn i de nylig opprettede tabellene og vist på skjermen slik at du kan se at alt fungerer.

La oss gå gjennom SQL-spørringen ovenfor.

Denne spørringen oppretter en tom tabell med to kolonner: id og some_info.

Merk datatypene som brukes for hver kolonne:

  • INT er for heltallsdata;
  • VARCHAR(50) er for tekst, og tillater opptil 50 tegn.

Vi dekker ikke alle datatyper nå, siden det finnes mange. Vi fokuserer på de viktigste i denne delen og utforsker flere etter hvert som vi lærer videre.

For eksempel, la oss opprette en annen tabell med ulike datatyper:

1234567
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
copy

Med denne spørringen oppretter vi en tom tabell som skal inneholde informasjon om brukere, inkludert:

  1. En ID med heltalls datatype;
  2. Informasjon om name, med VARCHAR(50) datatype;
  3. Informasjon om fødselsdato, med DATE datatype;
  4. Informasjon om lønn, med flyttalls datatype;
  5. Om brukeren er aktiv, med en datatype som kun aksepterer true eller false verdier.

Begrensninger

I SQL er begrensninger regler som brukes på kolonner for å sikre dataintegritet. For eksempel, når vi bruker PRIMARY KEY ved siden av ID, betyr det at denne kolonnen må ha unike verdier og kan ikke være tom. Hver tabell kan kun ha én PRIMARY KEY.

Her er noen vanlige begrensninger:

  • NOT NULL: Sikrer at kolonnen ikke kan ha tomme verdier.
  • UNIQUE: Sikrer at alle verdier i kolonnen er forskjellige.
  • DEFAULT: Angir en standardverdi for kolonnen hvis ingen verdi oppgis.

Dette er bare noen eksempler. La oss se hvordan vi kan endre en tabell for å inkludere disse begrensningene:

1234567
CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
copy

Nå må name-kolonnen alltid ha en verdi, siden den ikke kan være tom eller null. Hvis ingen lønn er spesifisert, vil den også få standardverdien 50000.

Ved å bruke slike begrensninger sikrer du at dataene i tabellen din er korrekte og følger reglene du har satt.

Oppgave

Swipe to start coding

Din oppgave er å opprette en tabell kalt library.

Denne tabellen skal ha 4 kolonner:

  • id – heltall, primærnøkkel;
  • title – varchar, ikke null;
  • author – varchar;
  • pages – int.

Husk å avslutte spørringen med et semikolon (;).

Bruk nøyaktig disse kolonnenavnene som angitt.

Merk

Til høyre vil du se en stor mengde kode; ikke endre denne. Den er skrevet for å sikre at løsningen din blir riktig sjekket. Vi skal lære alt som står der senere i denne seksjonen.

Kort instruksjon

  • Bruk en CREATE-spørring for å opprette en ny tabell kalt library.
  • Tabellens fire kolonner skal være: id, title, author og pages.
  • For første kolonne, angi INT PRIMARY KEY.
  • For andre kolonne, angi VARCHAR(50) NOT NULL.
  • For tredje kolonne, angi VARCHAR(50).
  • For fjerde kolonne, angi INT.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain more about other common SQL constraints?

How do I modify an existing table to add or change a constraint?

What happens if I try to insert data that violates a constraint?

close

Awesome!

Completion rate improved to 4

bookCreate og Begrensninger

Sveip for å vise menyen

Tidligere jobbet vi for ulike selskaper og utførte SELECT-spørringer etter deres behov. Nå må vi lære hvordan vi oppretter og endrer tabeller.

Tabeller opprettes ved hjelp av CREATE-setningen, som har en lignende struktur som SELECT-setningen, bortsett fra at i stedet for å velge data, opprettes data:

1234
CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
copy

Merk

Når du kjører disse eksemplene, vil du ikke få noe output fordi disse eksemplene kun oppretter en ny tabell. Hvis du kjører koden igjen, vil du få en feilmelding om at tabellen allerede finnes. Disse kodeeksemplene er kun demonstrasjoner, og senere i oppgaven vil data bli satt inn i de nylig opprettede tabellene og vist på skjermen slik at du kan se at alt fungerer.

La oss gå gjennom SQL-spørringen ovenfor.

Denne spørringen oppretter en tom tabell med to kolonner: id og some_info.

Merk datatypene som brukes for hver kolonne:

  • INT er for heltallsdata;
  • VARCHAR(50) er for tekst, og tillater opptil 50 tegn.

Vi dekker ikke alle datatyper nå, siden det finnes mange. Vi fokuserer på de viktigste i denne delen og utforsker flere etter hvert som vi lærer videre.

For eksempel, la oss opprette en annen tabell med ulike datatyper:

1234567
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
copy

Med denne spørringen oppretter vi en tom tabell som skal inneholde informasjon om brukere, inkludert:

  1. En ID med heltalls datatype;
  2. Informasjon om name, med VARCHAR(50) datatype;
  3. Informasjon om fødselsdato, med DATE datatype;
  4. Informasjon om lønn, med flyttalls datatype;
  5. Om brukeren er aktiv, med en datatype som kun aksepterer true eller false verdier.

Begrensninger

I SQL er begrensninger regler som brukes på kolonner for å sikre dataintegritet. For eksempel, når vi bruker PRIMARY KEY ved siden av ID, betyr det at denne kolonnen må ha unike verdier og kan ikke være tom. Hver tabell kan kun ha én PRIMARY KEY.

Her er noen vanlige begrensninger:

  • NOT NULL: Sikrer at kolonnen ikke kan ha tomme verdier.
  • UNIQUE: Sikrer at alle verdier i kolonnen er forskjellige.
  • DEFAULT: Angir en standardverdi for kolonnen hvis ingen verdi oppgis.

Dette er bare noen eksempler. La oss se hvordan vi kan endre en tabell for å inkludere disse begrensningene:

1234567
CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
copy

Nå må name-kolonnen alltid ha en verdi, siden den ikke kan være tom eller null. Hvis ingen lønn er spesifisert, vil den også få standardverdien 50000.

Ved å bruke slike begrensninger sikrer du at dataene i tabellen din er korrekte og følger reglene du har satt.

Oppgave

Swipe to start coding

Din oppgave er å opprette en tabell kalt library.

Denne tabellen skal ha 4 kolonner:

  • id – heltall, primærnøkkel;
  • title – varchar, ikke null;
  • author – varchar;
  • pages – int.

Husk å avslutte spørringen med et semikolon (;).

Bruk nøyaktig disse kolonnenavnene som angitt.

Merk

Til høyre vil du se en stor mengde kode; ikke endre denne. Den er skrevet for å sikre at løsningen din blir riktig sjekket. Vi skal lære alt som står der senere i denne seksjonen.

Kort instruksjon

  • Bruk en CREATE-spørring for å opprette en ny tabell kalt library.
  • Tabellens fire kolonner skal være: id, title, author og pages.
  • For første kolonne, angi INT PRIMARY KEY.
  • For andre kolonne, angi VARCHAR(50) NOT NULL.
  • For tredje kolonne, angi VARCHAR(50).
  • For fjerde kolonne, angi INT.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

close

Awesome!

Completion rate improved to 4
Seksjon 4. Kapittel 1
single

single

some-alt