Home » ALTER TABLE in SQL: Maak krachtige aanpassingen in je tabel

ALTER TABLE in SQL: Maak krachtige aanpassingen in je tabel

Soms moet je een aanpassing doen aan een database tabel. Gelukkig kun je dit eenvoudig doen met het ALTER TABLE statement in SQL.

Het kan voorkomen dat je na het maken van een nieuwe tabel, behoefte hebt om kleine aanpassingen te doen in de opzet. Zo kan het type van een kolom toch niet helemaal voldoen aan de wensen of wil je juist een nieuwe kolom toevoegen.

Gelukkig biedt SQL de mogelijkheid voor het aanpassen je database tabellen. Dit scheelt ook weer in het maken van nieuwe tabellen met daarin de aanpassingen en het vervolgens overzetten van de oude gegevens naar deze nieuwe tabel.

Logischerwijs wil je natuurlijk voorkomen dat het aanpassen van tabellen door middel van kolommen ook echt nodig is. Een goede structuur, daar moet je niet snel aan willen rommelen. Dat gezegd hebbende is een dergelijke situatie natuurlijk nooit te voorkomen.

Wat kun je allemaal met ALTER TABLE in SQL

Het ALTER TABLE statement biedt je de mogelijkheid om je tabelstructuur aan te passen. Eigenlijk kun je gewoon alles doen wat je ook doet bij het maken van een nieuwe tabel. Zo zijn er in principe twee soorten aanpassingen die je kunt doen aan een bestaande tabel. Namelijk het wijzigen van kolommen en wijzigen van constraints.

Bij het muteren van kolommen moet je denken aan het toevoegen van een nieuwe. Maar ook aan het aanpassen of verwijderen van een bestaande kolom. Ook het hernoemen van een kolomnaam is iets dat valt onder het muteren van een kolom.

Ga je constraints muteren, dan kun je denken aan het toevoegen, bewerken of verwijderen van indexen. Daarnaast kun je constraints muteren op het vlak van primaire of vreemde sleutels.

Met ALTER TABLE in SQL heb je flexibiliteit in het aanpassen van zowel kolommen als constraints, waardoor je eenvoudig wijzigingen kunt doorvoeren in je databasestructuur.

Het muteren van kolommen

Je hebt een tabel opgezet en deze structuur klopt niet helemaal meer. Op het vlak van mutaties kun je hierbij denken aan:

  • Toevoegen van nieuwe kolom
  • Wijzigen van een kolom
  • Verwijderen van een kolom
  • Hernoemen van de kolomnaam

Toevoegen van een nieuwe kolom

Er zijn genoeg situaties te bedenken waarbij we achteraf nog een kolom willen toevoegen aan een database tabel. Bijvoorbeeld een extra kolom om een gebruiker als uitgeschakeld te markeren, of het toevoegen van een order status. Voor het toevoegen van een nieuwe kolom gebruiken we ADD. Een voorbeeldquery ziet er als volgt uit.

ALTER TABLE tabelnaam ADD kolomnaam datatype

Een voorbeeld in de praktijk is het toevoegen van een status kolom aan de tabel Orders. Hierin willen we een tekstuele waarde opnemen. Denk aan: ‘in behandeling’, ‘klaar voor verzending’, enzovoort.”

ALTER TABLE Orders ADD status varchar(20)

Aanpassen van een bestaande kolom

Een andere reden voor het aanpassen van een tabel is het wijzigen van een bestaande kolom. Als je bijvoorbeeld het datatype van een kolom wilt wijzigen dan is ALTER COLUMN de manier om dit voor elkaar te krijgen. Zo’n query ziet er als volgt uit:

ALTER TABLE tabelnaam ALTER COLUMN kolomnaam datatype

In het onderstaande voorbeeld passen we de kolom ‘status’ in de tabel ‘Orders’ aan, waarbij we het datatype wijzigen van varchar(20) naar int.

ALTER TABLE Orders ALTER COLUMN status int

Bestaande kolom in de tabel verwijderen

Het verwijderen van een kolom in de databasetabel doe je door middel van DROP COLUMN. Hierachter volgt dan de naam van de kolom die je wilt verwijderen.

ALTER TABLE tabelnaam DROP COLUMN kolomnaam

Stel dat het eerdere status-veld is vervangen door een losse tabel waarin elke verandering in het orderproces als een afzonderlijk record wordt opgeslagen. De ‘status’-kolom is daarom dus overbodig geworden en kan daarom worden verwijderd. In het onderstaande voorbeeld verwijderen we de ‘status’-kolom uit de Orders tabel.

ALTER TABLE Orders DROP COLUMN status

Hernoemen van een bestaande kolom

Een kolom is ook te hernoemen, waarbij het een andere naam krijgt. Dit kan worden bereikt door middel van RENAME COLUMN, een voorbeeldquery ziet er als volgt uit:

ALTER TABLE tabelnaam RENAME COLUMN oudenaam to nieuwenaam

Stel dat we voor de klant ooit gekozen hebben om een kolom woonplaats te hebben in plaats van plaatsnaam. Dan kunnen we het volgende doen.

ALTER TABLE Klant RENAME COLUMN woonplaats to plaatsnaam

Het muteren van constraints

Constraints kunnen worden gezien als regels of beperkingen. Dit zijn zaken die altijd kunnen veranderen. Zo kan het gebeuren dat je een index wilt leggen op twee kolommen. Een andere situatie is een verandering in de vreemde sleutels. Dit zijn zaken die je ook met ALTER TABLE in SQL kunt afvangen.