Data Definition Language

← Terug naar overzicht

Inleiding

Tot nu toe bestonden de databases en tabellen al. In dit hoofdstuk leer je hoe je ze zelf maakt en aanpast met DDL (Data Definition Language).

Databases maken

CREATE DATABASE mijn_webshop;

Dat is alles. En om een database te verwijderen:

DROP DATABASE mijn_webshop;

Pas op met DROP: het verwijdert de hele database inclusief alle tabellen, data, sleutels, constraints -- alles. Dit is onherstelbaar. Er is geen CTRL+Z.

Oefening 1

Je begint aan een nieuw project voor een school. Maak de database aan.

Jouw code:

Oefening 2

Het project is geannuleerd. Ruim de database school op.

Jouw code:

Tabellen maken

Bij het maken van een tabel geef je de naam, de kolommen en hun datatypes op.

CREATE TABLE users (
    id INT,
    username VARCHAR(50),
    email VARCHAR(100),
    geboortedatum DATE
);

Om een tabel te verwijderen:

DROP TABLE users;

Belangrijk: DROP TABLE verwijdert de hele tabel met alle data, zonder mogelijkheid tot ongedaan maken.

Oefening 3

Je webshop heeft een producttabel nodig met een id (geheel getal), naam (max 100 tekens), prijs (max €99999,99) en voorraad (geheel getal). Maak de tabel products.

Jouw code:

Oefening 4

Je bouwt een blog. Maak een tabel berichten met een id (geheel getal), titel (max 200 tekens), inhoud (lange tekst) en publicatiedatum (datum + tijd).

Jouw code:

Kolommen aanpassen

Met ALTER TABLE pas je bestaande tabellen aan.

Kolom toevoegen:

ALTER TABLE users ADD telefoonnummer VARCHAR(15);

Datatype wijzigen:

ALTER TABLE users MODIFY username VARCHAR(100);

Dit kan alleen als bestaande data past in het nieuwe datatype. Als iemand "11a" als huisnummer heeft, kun je de kolom niet wijzigen naar INT.

Kolom verwijderen:

ALTER TABLE users DROP COLUMN geboortedatum;

Let op: DROP COLUMN verwijdert alle data in die kolom, onherstelbaar.

Oefening 5

De webshop gaat producten indelen in categorieën. Voeg een categoriekolom (max 50 tekens) toe aan de tabel products.

Jouw code:

Oefening 6

De productnamen blijken soms langer dan 100 tekens. Vergroot de kolom naam in products naar 200 tekens.

Jouw code:

Oefening 7

De webshop houdt de voorraad niet meer bij in de database. Verwijder die kolom uit products.

Jouw code:

Oefening 8

Je bouwt een bestelsysteem. Maak een tabel orders met id (geheel getal), klantid (geheel getal), productid (geheel getal) en aantal (geheel getal). Je realiseert je daarna dat je vergeten bent een besteldatum toe te voegen. Schrijf beide queries.

Jouw code: