CREATE och Begränsningar
Tidigare arbetade vi för olika företag och utförde SELECT
-frågor för deras behov. Men vi behöver lära oss hur man skapar och ändrar tabeller.
Tabeller skapas med hjälp av CREATE
-satsen, som har en liknande struktur som SELECT
-satsen, förutom att istället för att välja data, skapar den data:
CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
Note
När du kör dessa exempel, kommer du inte få något utdata eftersom dessa exempel bara skapar en ny tabell. Om du kör koden igen, kommer du få ett felmeddelande som säger att tabellen redan finns. Dessa kodexempel är exempel, och senare i uppgiften kommer data att infogas i dessa nyskapade tabeller och visas på skärmen så att du kan se att allt fungerar.
Låt oss bryta ner SQL-frågan ovan.
Denna fråga skapar en tom tabell med två kolumner: id
och some_info
.
Observera de datatyper som används för varje kolumn:
INT
är för heltalsdata;VARCHAR(50)
är för text, vilket tillåter upp till 50 tecken.
Vi kommer inte att täcka alla datatyper nu, eftersom det finns många. Vi kommer att fokusera på de viktigaste i denna sektion och utforska andra medan vi fortsätter att lära oss.
Till exempel, låt oss skapa en annan tabell med olika datatyper:
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
Med denna fråga skapar vi en tom tabell som ska innehålla information om användare, inklusive:
Ett
ID
med en heltal datatyp;Information om
name
, med enVARCHAR(50)
datatyp;Information om födelsedatum, med en
DATE
datatyp;Information om lön, med en flyttal datatyp;
Om användaren är aktiv, med en datatyp som endast accepterar
true
ellerfalse
värden.
Begränsningar
I SQL är begränsningar regler som tillämpas på kolumner för att säkerställa dataintegritet. Till exempel, när vi använder PRIMARY KEY
bredvid ID
, betyder det att denna kolumn måste ha unika värden och kan inte vara tom. Varje tabell kan endast ha en PRIMARY KEY
.
Här är några vanliga begränsningar:
NOT NULL
: Detta säkerställer att kolumnen inte kan ha tomma värden.UNIQUE
: Detta säkerställer att alla värden i kolumnen är olika.DEFAULT
: Detta ställer in ett standardvärde för kolumnen om inget värde anges.
Detta är bara några exempel. Låt oss se hur vi kan ändra en tabell för att inkludera dessa begränsningar:
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 måste name
-kolumnen alltid ha ett värde, eftersom den inte kan vara tom eller null. Dessutom, om ingen lön anges, kommer den att standardiseras till 50000
.
Att använda begränsningar som dessa hjälper till att säkerställa att data i din tabell är korrekt och följer de regler du har satt.
Swipe to start coding
Din uppgift är att skapa en tabell med namnet library
.
Denna tabell ska ha 4 kolumner:
id
- heltal primärnyckel;title
- varchar, inte null;author
- varchar;pages
- int.
I slutet av frågan, se till att sätta ett semikolon (;
).
Vänligen använd dessa kolumnnamn exakt som specificerat.
Notera
På höger sida kommer du att se en stor mängd kod; ändra inte den. Den är skriven för att säkerställa att din lösning kontrolleras korrekt. Vi kommer att lära oss allt som är skrivet där senare i denna sektion.
Kortfattade instruktioner
- Använd en CREATE fråga för att skapa en ny tabell med namnet
library
. - Tabellen ska ha fyra kolumner:
id
,title
,author
ochpages
. - För den första kolumnen, specificera
INT PRIMARY KEY
. - För den andra kolumnen, specificera
VARCHAR(50) NOT NULL
. - För den tredje kolumnen, specificera
VARCHAR(50)
. - För den fjärde kolumnen, specificera
INT
.
Lösning
Tack för dina kommentarer!