Create en Constraints
Eerder werkten we voor verschillende bedrijven en voerden we SELECT
-query's uit voor hun behoeften. Nu moeten we leren hoe we tabellen kunnen aanmaken en wijzigen.
Tabellen worden aangemaakt met de CREATE
-instructie, die een vergelijkbare structuur heeft als de SELECT
-instructie, behalve dat in plaats van data te selecteren, er data wordt aangemaakt:
1234CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
Opmerking
Wanneer je deze voorbeelden uitvoert, krijg je geen uitvoer omdat deze voorbeelden alleen een nieuwe tabel aanmaken. Als je de code opnieuw uitvoert, krijg je een foutmelding dat de tabel al bestaat. Deze codevoorbeelden zijn ter illustratie, en later in de opdracht wordt er data in deze nieuw aangemaakte tabellen ingevoerd en op het scherm weergegeven zodat je kunt zien dat alles werkt.
Laten we de bovenstaande SQL-query ontleden.
Deze query maakt een lege tabel met twee kolommen: id
en some_info
.
Let op de gegevenstypen die voor elke kolom worden gebruikt:
INT
is voor gehele getallen;VARCHAR(50)
is voor tekst, met een maximum van 50 tekens.
We behandelen nu niet alle gegevenstypen, omdat er veel zijn. We richten ons in deze sectie op de belangrijkste en verkennen andere typen verderop in de cursus.
Laten we bijvoorbeeld een andere tabel maken met verschillende gegevenstypen:
1234567CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
Met deze query wordt een lege tabel aangemaakt die informatie over gebruikers moet bevatten, waaronder:
- Een
ID
met een geheel getal als gegevenstype; - Informatie over de
name
, met het gegevenstypeVARCHAR(50)
; - Informatie over de geboortedatum, met het gegevenstype
DATE
; - Informatie over het salaris, met een gegevenstype voor kommagetallen;
- Of de gebruiker actief is, met een gegevenstype dat alleen
true
offalse
accepteert.
Beperkingen
In SQL zijn beperkingen regels die op kolommen worden toegepast om de gegevensintegriteit te waarborgen. Bijvoorbeeld, wanneer we PRIMARY KEY
naast ID
gebruiken, betekent dit dat deze kolom unieke waarden moet bevatten en niet leeg mag zijn. Elke tabel kan slechts één PRIMARY KEY
hebben.
Hier zijn enkele veelvoorkomende beperkingen:
NOT NULL
: Hiermee wordt gegarandeerd dat de kolom geen lege waarden kan bevatten.UNIQUE
: Hiermee wordt gegarandeerd dat alle waarden in de kolom verschillend zijn.DEFAULT
: Hiermee wordt een standaardwaarde voor de kolom ingesteld als er geen waarde wordt opgegeven.
Dit zijn slechts enkele voorbeelden. Laten we bekijken hoe we een tabel kunnen aanpassen om deze beperkingen toe te voegen:
1234567CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
Nu moet de kolom name
altijd een waarde bevatten, omdat deze niet leeg of null mag zijn. Ook zal, als er geen salaris wordt opgegeven, de standaardwaarde 50000
worden gebruikt.
Het gebruik van dit soort beperkingen helpt ervoor te zorgen dat de gegevens in uw tabel accuraat zijn en voldoen aan de door u gestelde regels.
Swipe to start coding
Uw taak is om een tabel genaamd library
te maken.
Deze tabel moet 4 kolommen bevatten:
id
- integer primary key;title
- varchar, niet null;author
- varchar;pages
- int.
Zorg ervoor dat u aan het einde van de query een puntkomma (;
) plaatst.
Gebruik deze kolomnamen exact zoals gespecificeerd.
Opmerking
Rechts ziet u een grote hoeveelheid code; wijzig deze niet. Deze code is geschreven om ervoor te zorgen dat uw oplossing correct wordt gecontroleerd. Alles wat daar staat, behandelen we later in deze sectie.
Korte instructies
- Gebruik een CREATE-query om een nieuwe tabel genaamd
library
aan te maken. - De tabel moet vier kolommen bevatten:
id
,title
,author
enpages
. - Voor de eerste kolom specificeert u
INT PRIMARY KEY
. - Voor de tweede kolom specificeert u
VARCHAR(50) NOT NULL
. - Voor de derde kolom specificeert u
VARCHAR(50)
. - Voor de vierde kolom specificeert u
INT
.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 4
Create en Constraints
Veeg om het menu te tonen
Eerder werkten we voor verschillende bedrijven en voerden we SELECT
-query's uit voor hun behoeften. Nu moeten we leren hoe we tabellen kunnen aanmaken en wijzigen.
Tabellen worden aangemaakt met de CREATE
-instructie, die een vergelijkbare structuur heeft als de SELECT
-instructie, behalve dat in plaats van data te selecteren, er data wordt aangemaakt:
1234CREATE TABLE example ( id INT PRIMARY KEY, some_info VARCHAR(50) );
Opmerking
Wanneer je deze voorbeelden uitvoert, krijg je geen uitvoer omdat deze voorbeelden alleen een nieuwe tabel aanmaken. Als je de code opnieuw uitvoert, krijg je een foutmelding dat de tabel al bestaat. Deze codevoorbeelden zijn ter illustratie, en later in de opdracht wordt er data in deze nieuw aangemaakte tabellen ingevoerd en op het scherm weergegeven zodat je kunt zien dat alles werkt.
Laten we de bovenstaande SQL-query ontleden.
Deze query maakt een lege tabel met twee kolommen: id
en some_info
.
Let op de gegevenstypen die voor elke kolom worden gebruikt:
INT
is voor gehele getallen;VARCHAR(50)
is voor tekst, met een maximum van 50 tekens.
We behandelen nu niet alle gegevenstypen, omdat er veel zijn. We richten ons in deze sectie op de belangrijkste en verkennen andere typen verderop in de cursus.
Laten we bijvoorbeeld een andere tabel maken met verschillende gegevenstypen:
1234567CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), birthdate DATE, salary DECIMAL(10, 2), is_active BOOLEAN );
Met deze query wordt een lege tabel aangemaakt die informatie over gebruikers moet bevatten, waaronder:
- Een
ID
met een geheel getal als gegevenstype; - Informatie over de
name
, met het gegevenstypeVARCHAR(50)
; - Informatie over de geboortedatum, met het gegevenstype
DATE
; - Informatie over het salaris, met een gegevenstype voor kommagetallen;
- Of de gebruiker actief is, met een gegevenstype dat alleen
true
offalse
accepteert.
Beperkingen
In SQL zijn beperkingen regels die op kolommen worden toegepast om de gegevensintegriteit te waarborgen. Bijvoorbeeld, wanneer we PRIMARY KEY
naast ID
gebruiken, betekent dit dat deze kolom unieke waarden moet bevatten en niet leeg mag zijn. Elke tabel kan slechts één PRIMARY KEY
hebben.
Hier zijn enkele veelvoorkomende beperkingen:
NOT NULL
: Hiermee wordt gegarandeerd dat de kolom geen lege waarden kan bevatten.UNIQUE
: Hiermee wordt gegarandeerd dat alle waarden in de kolom verschillend zijn.DEFAULT
: Hiermee wordt een standaardwaarde voor de kolom ingesteld als er geen waarde wordt opgegeven.
Dit zijn slechts enkele voorbeelden. Laten we bekijken hoe we een tabel kunnen aanpassen om deze beperkingen toe te voegen:
1234567CREATE TABLE users_2 ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, birthdate DATE, salary DECIMAL(10, 2) DEFAULT 50000, is_active BOOLEAN );
Nu moet de kolom name
altijd een waarde bevatten, omdat deze niet leeg of null mag zijn. Ook zal, als er geen salaris wordt opgegeven, de standaardwaarde 50000
worden gebruikt.
Het gebruik van dit soort beperkingen helpt ervoor te zorgen dat de gegevens in uw tabel accuraat zijn en voldoen aan de door u gestelde regels.
Swipe to start coding
Uw taak is om een tabel genaamd library
te maken.
Deze tabel moet 4 kolommen bevatten:
id
- integer primary key;title
- varchar, niet null;author
- varchar;pages
- int.
Zorg ervoor dat u aan het einde van de query een puntkomma (;
) plaatst.
Gebruik deze kolomnamen exact zoals gespecificeerd.
Opmerking
Rechts ziet u een grote hoeveelheid code; wijzig deze niet. Deze code is geschreven om ervoor te zorgen dat uw oplossing correct wordt gecontroleerd. Alles wat daar staat, behandelen we later in deze sectie.
Korte instructies
- Gebruik een CREATE-query om een nieuwe tabel genaamd
library
aan te maken. - De tabel moet vier kolommen bevatten:
id
,title
,author
enpages
. - Voor de eerste kolom specificeert u
INT PRIMARY KEY
. - Voor de tweede kolom specificeert u
VARCHAR(50) NOT NULL
. - Voor de derde kolom specificeert u
VARCHAR(50)
. - Voor de vierde kolom specificeert u
INT
.
Oplossing
Bedankt voor je feedback!
Awesome!
Completion rate improved to 4single