Ga naar inhoud

Header

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 TABLE statement.
  • 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 trainees aangemaakt.
    • VARCHAR staat 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.
SELECT
  *
FROM
  trainees;
first_name last_name email_address
Columns: 3
Rows: 0




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:

DROP TABLE trainees;
  • Na het uitvoeren van deze query is de tabel trainees verwijderd.
  • Als we met onderstaande query alsnog data proberen op te halen krijgen we een error.
    • Logisch, de tabel is immers verwijderd.
SELECT
  *
FROM
  trainees;
Output:
relation "trainees" does not exist




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 trainees aan met enkele kolommen.
  • De kolommen specificeren we uitgebreider:
    • Bij alle kolommen voegen we NOT NULL toe.
      • NOT NULL geeft aan dat de kolom geen lege waarden mag bevatten.
    • Bij kolom email_address vorgen we ook UNIQUE toe.
      • UNIQUE dwingt af dat er alleen unieke waarden voor mogen komen.
        • Iedere rij moet dus een ander e-mailadres bevatten.
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 UNIQUE en NOT NULL worden constraints (beperkingen) genoemd.




Samenvatting

  • CREATE TABLE maakt een nieuwe tabel aan.
    • Je benoemt:
      • De naam van de tabel.
      • De nieuwe kolommen:
      • Naam en datatypes.
      • Tussen ronde haken.
    • Voorbeeld:
CREATE TABLE trainees (
  first_name VARCHAR (50),
  last_name VARCHAR (50),
  email_address VARCHAR (255)
);
  • DROP TABLE verwijdert 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.