
Tabellen toevoegen en aanpassen
Introductie
Tot nu toe hebben we bestaande tabellen uitgelezen.
Het is ook mogelijk om met een query nieuwe tabellen aan te maken.
Dit doe je als je informatie op wilt slaan waar nog geen bestaande tabel voor beschikbaar is.
1. Tabel maken
We gaan een nieuwe tabel aanmaken. Een tabel om details van mensen die een training volgen aan te maken.
Hiervoor dient het CREATE TABLE statement.
In onderstaand voorbeeld doen we het volgende:
- Gebruiken het
CREATE TABLEstatement. - Geven de naam van de nieuwe tabel op:
trainees. - Benoemen de kolommen voor in de nieuwe tabel:
- Als eerste de kolomnaam, dan het datatype.
- Let op: de kolommen maak je aan tussen ronde haken.
CREATE TABLE trainees (
first_name VARCHAR (50),
last_name VARCHAR (50),
email_address VARCHAR (255)
);
- Na het uitvoeren van deze query is de tabel
traineesaangemaakt.VARCHARstaat voor een datatype met een variabel aantal tekens.- Het getal tussen de haken geeft het maximale aantal tekens weer.
- Met onderstaande query kun je er data uit ophalen.
- De tabel bevat nog geen rijen.
| first_name | last_name | email_address |
|---|---|---|
2. Tabel verwijderen
Naast het aanmaken, kun je met een query ook een tabel verwijderen.
Hiervoor dient het DROP TABLE statement.
Met onderstaande query verwijderen we de zojuist aangemaakte tabel:
- Na het uitvoeren van deze query is de tabel
traineesverwijderd. - Als we met onderstaande query alsnog data proberen op te halen krijgen we een error.
- Logisch, de tabel is immers verwijderd.
3. Kolommen specificeren
We weten nu hoe we een tabel moeten maken en verwijderen.
Hierbij hebben we kolommen een naam en datatype gegeven.
Dit is verder te specificeren.
In onderstaand voorbeeld doen we het volgende:
- Maken wederom tabel
traineesaan met enkele kolommen. - De kolommen specificeren we uitgebreider:
- Bij alle kolommen voegen we
NOT NULLtoe.NOT NULLgeeft aan dat de kolom geen lege waarden mag bevatten.
- Bij kolom
email_addressvorgen we ookUNIQUEtoe.UNIQUEdwingt af dat er alleen unieke waarden voor mogen komen.- Iedere rij moet dus een ander e-mailadres bevatten.
- Bij alle kolommen voegen we
CREATE TABLE trainees (
first_name VARCHAR (50) NOT NULL,
last_name VARCHAR (50) NOT NULL,
email_address VARCHAR (255) UNIQUE NOT NULL
);
De specificeringen zoals
UNIQUEenNOT NULLworden constraints (beperkingen) genoemd.
Samenvatting
CREATE TABLEmaakt een nieuwe tabel aan.- Je benoemt:
- De naam van de tabel.
- De nieuwe kolommen:
- Naam en datatypes.
- Tussen ronde haken.
- Voorbeeld:
- Je benoemt:
CREATE TABLE trainees (
first_name VARCHAR (50),
last_name VARCHAR (50),
email_address VARCHAR (255)
);
DROP TABLEverwijdert een tabel.- Kolommen kunnen verder gespecificeerd worden met constraints, onder andere:
NOT NULL: geen missende waarden.UNIQUE: alleen unieke waarden.
-
Let op: onder andere datatypes kunnen anders zijn in verschillende SQL dialecten. Hierdoor kunnen er verschillen zijn in hoe je in verschillende dialecten tabellen aanmaakt.