Create og Begrænsninger
Tidligere arbejdede vi for forskellige virksomheder og udførte SELECT
forespørgsler for deres behov. Men vi skal lære hvordan man opretter og ændrer tabeller.
Tabeller oprettes ved hjælp af CREATE
udsagnet, som har en lignende struktur som SELECT
udsagnet, bortset fra at i stedet for at vælge data, opretter det data:
CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
Note
Når du kører disse eksempler, får du ikke noget output, fordi disse eksempler kun opretter en ny tabel. Hvis du kører koden igen, vil du få en fejl, der siger, at tabellen allerede eksisterer. Disse kodeeksempler er eksempler, og senere i opgaven vil data blive indsat i disse nyoprettede tabeller og vist på skærmen, så du kan se, at alt fungerer.
Lad os gennemgå SQL-forespørgslen ovenfor.
Denne forespørgsel opretter en tom tabel med to kolonner: id
og some_info
.
Bemærk de datatyper, der bruges til hver kolonne:
INT
er for heltalsdata;VARCHAR(50)
er for tekst, der tillader op til 50 tegn.
Vi vil ikke dække alle datatyper nu, da der er mange. Vi vil fokusere på de vigtigste i dette afsnit og udforske andre, mens vi fortsætter med at lære.
For eksempel, lad os oprette en anden tabel med forskellige datatyper:
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
Med denne forespørgsel opretter vi en tom tabel, der skal indeholde information om brugere, inklusive:
Et
ID
med en heltal datatypen;Information om
name
, med enVARCHAR(50)
datatypen;Information om fødselsdatoen, med en
DATE
datatypen;Information om lønnen, med en flydende punktum datatypen;
Om brugeren er aktiv, med en datatype, der kun accepterer
true
ellerfalse
værdier.
Begrænsninger
I SQL er begrænsninger regler, der anvendes på kolonner for at sikre dataintegritet. For eksempel, når vi bruger PRIMARY KEY
ved siden af ID
, betyder det, at denne kolonne skal have unikke værdier og ikke kan være tom. Hver tabel kan kun have én PRIMARY KEY
.
Her er nogle almindelige begrænsninger:
NOT NULL
: Dette sikrer, at kolonnen ikke kan have tomme værdier.UNIQUE
: Dette sikrer, at alle værdier i kolonnen er forskellige.DEFAULT
: Dette sætter en standardværdi for kolonnen, hvis ingen værdi er angivet.
Dette er blot nogle få eksempler. Lad os se, hvordan vi kan ændre en tabel for at inkludere disse begrænsninger:
CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
Nu skal name
kolonnen altid have en værdi, da den ikke kan være tom eller null. Også, hvis ingen løn er specificeret, vil den som standard være 50000
.
Brug af begrænsninger som disse hjælper med at sikre, at dataene i din tabel er nøjagtige og følger de regler, du har sat.
Swipe to start coding
Din opgave er at oprette en tabel ved navn library
.
Denne tabel skal have 4 kolonner:
id
- integer primærnøgle;title
- varchar, ikke null;author
- varchar;pages
- int.
I slutningen af forespørgslen skal du sørge for at sætte et semikolon (;
).
Brug venligst disse kolonnenavne præcis som angivet.
Note
Til højre vil du se en stor mængde kode; ændr den ikke. Den er skrevet for at sikre, at din løsning kontrolleres korrekt. Vi vil lære alt, hvad der er skrevet der, senere i denne sektion.
Korte instruktioner
- Brug en CREATE forespørgsel til at oprette en ny tabel ved navn
library
. - Tabellen skal have fire kolonner:
id
,title
,author
ogpages
. - For den første kolonne, angiv
INT PRIMARY KEY
. - For den anden kolonne, angiv
VARCHAR(50) NOT NULL
. - For den tredje kolonne, angiv
VARCHAR(50)
. - For den fjerde kolonne, angiv
INT
.
Løsning
Tak for dine kommentarer!