Tabellen aanmaken

Om een nieuwe tabel aan te maken, selecteer je de gewenste database en navigeer je via de menubalk naar het tabblad ‘Structure’ (structuur).

Je geeft een naam op en het aantal eigenschappen dat je wenst op te slagen (vergeet de primaire sleutel niet).

Als je bijvoorbeeld een database voor gebruikers van je website wilt maken, kun je de volgende titels voor de kolommen van de tabel gebruiken:

KolomBeschrijving
idEen uniek identificatienummer voor elke gebruiker
forenameVoornaam van de gebruiker
surnameAchternaam van de gebruiker
emailEmailadres van de gebruiker
passwordWachtwoord van de gebruiker
created_atTijdstip waarop de vermelding is aangemaakt
updated_atTijdstip waarop de vermelding is gewijzigd

Voor je gebruikersdatabase maak je dus een tabel users met zeven kolommen. Je bevestigt de invoer met ‘Go’.

Voer een tabelnaam en het gewenste aantal kolommen in

Geef vervolgens alle eigenschappen en hun type.

Eerst het aantal opgegeven eigenschappen maar wel “leeg”

OptieOmschrijving
NameElke kolom van een databasetabel krijgt een titel. Deze kan, met enkele beperkingen, vrij worden gekozen. Latijnse letters (hoofdletters en kleine letters, maar zonder trema’s), cijfers, dollartekens en underscores zijn geen probleem. De underscore kan in plaats van de spatie (niet toegestaan) worden gebruikt (onjuist: user id; juist: user_id). Kolomtitels mogen niet alleen uit cijfers bestaan. Bovendien bevat de databasetaal SQL enkele sleutelwoorden die voor bepaalde taken zijn gereserveerd. Een lijst daarvan vind je in de MySQL-documentatie. De meeste van deze beperkingen kun je omzeilen, maar dan moet je de desbetreffende kolom altijd tussen backticks (“) zetten. Dezelfde regels gelden overigens ook voor tabel- en andere namen in MySQL. Het is raadzaam relevante kolomtitels in het Nederlands te gebruiken die bij het kenmerk passen.
TypeHet gegevenstype geeft aan welke soort gegevens in een kolom wordt opgeslagen. In MySQL en MariaDB kun je gegevens als gehele getallen, drijvendekommagetallen, tijdstippen en data alsook als teksttekenreeksen en binaire gegevens definiëren. Een toelichting hierop vind je in de tabel ‘Gegevenstypen’.
Length/ValuesBij sommige gegevenstypen (bijvoorbeeld teksttekenreeksen) kun je voor de waarden van een kolom een maximale lengte instellen. Deze opmaak is echter optioneel.
DefaultMet de optie ‘Default’ kun je een standaardwaarde voor een kolom bepalen. Deze wordt dan automatisch ingevoegd als een gegevensset geen waarde voor de desbetreffende kolom bevat.
CollationMet de optie ‘Collation’ wijs je een bepaald tekentype aan een kolom toe, die kan afwijken van de globale database-instellingen. Je kunt de codering ook op tabelniveau wijzigen voor alle kolommen.
AttributesSommige gegevenstypen kunnen door optionele kenmerken nauwkeuriger worden bepaald. Zo kun je met de kenmerken signed en unsigned bijvoorbeeld vastleggen of gehele getallen en drijvendekommagetallen ook negatieve (signed) of alleen positieve (unsigned) waarden kunnen aannemen.
IndexVia de optie ‘Index’ stel je regels in voor de indexering. Als je voor een kolom de indexinstelling PRIMARY selecteert, geldt deze kolom als primaire sleutel van de tabel. De instelling UNIQUE legt vast dat waarden binnen deze kolom slechts één keer kunnen worden opgeslagen. Zo kunnen dubbele vermeldingen worden voorkomen.
A_IDe afkorting ‘A_I’ staat voor AUTO_INCREMENT en zorgt ervoor dat het databasemanagementsysteem een waarde automatisch doornummert als er bij het aanmaken van een gegevensset geen waarde is ingevoerd. Deze optie wordt bijvoorbeeld gebruikt bij de indexering van gegevenssets.
CommentsIn het veld ‘Comments’ kun je commentaren bij de kolommen van de tabel zetten.

De verschillende types en hun mogelijke waardes:

TypeOmschrijvingWaardenbereikGeheugenvereiste
TINYINTEen zeer klein geheel getalZonder teken: 0 tot 255 Met teken: -128 tot +1271 Byte
SMALLINTEen klein geheel getalZonder teken: 0 tot 65.535 Met teken: -32.768 tot +32.7672 Byte
MEDIUMINTEen middelgroot geheel getalZonder teken: 0 tot 16.777.215 Met teken: -8.388.608 tot +8.388.6073 Byte
INT/INTEGEREen geheel getal van normale grootteZonder teken: 0 tot 4.294.967.295 Met teken: -2.147.483.648 tot +2.147.483.6474 Byte
BIGINTEen groot geheel getalZonder teken: 0 tot 18.446.744.073 Met teken: -9.223.372.036.854.775.808 tot +9.223.372.036.854.775.8078 Byte
FLOATEen drijvend kommagetal met enkele precisie Zonder teken: 0 tot 3,4e+38 Met teken: -3,4e+38 tot 3,4e+384 Byte
DOUBLEEen drijvend kommagetal met dubbele precisieZonder teken: 0 tot 3,4e+38 Met teken: -3,4e+38 tot 3,4e+388 Byte
DATEDatumweergave in ‘YYYY-MM-DD’‘1000-01-01’ tot ‘9999-12-31’3 Byte
TIMETijdweergave in ‘HH:MM:SS:ssssss‘-838:59:59.999999’ tot ‘838:59:59.999999’3 Byte
DATETIMEDatumweergave in ‘YYY-MM-DD HH:MM:SS.ssssss’Komt overeen met DATE en TIME (tot 23:59:59.999999 uur)8 Byte
TIMESTAMPTijdstempel in ‘YYY-MM-DD HH:MM:DD’ ‘1970-01-01 00:00:01’ (UTC) tot ‘2038-01-19 05:14:07’ (UTC)4 Byte
YEARTussen het jaar 1901 en 21551901 tot 2155 en 00001 Byte
CHARTekenreeks met vaste lengte; M komt overeen met aantal tekensVoor M: 0 tot 255 tekensM Byte
VARCHARTekenreeks met variabele lengte; M komt overeen met aantal tekensVoor M: 0 tot 65.535 tekensMax. M + 2 Byte
TINYTEXTZeer kleine tekenreeks met variabele lengte; M komt overeen met aantal tekensVoor M: 0 tot 255 tekensM + 1 Byte
TEXTTekenreeks met variabele lengte; M komt overeen met aantal tekensVoor M: 0 tot 255 tekensM + 2 Byte
MEDIUMTEXTMiddelgrote tekenreeks met variabele lengte; M komt overeen met aantal tekensVoor M: 0 tot 16.777.215 tekensM + 3 Byte
LONGTEXTLange tekenreeks met variabele lengte; M komt overeen met aantal tekensVoor M: 0 tot 4.294.967.295 tekens (4 GB)M + 4 Byte
BLOBEen BLOB (Binary Large Object) is een binair object met gegevens van variabele lengte (bijv. afbeeldingen, audiobestanden)Max. lengte M: 65.535 ByteM + 2 Byte
TINYBLOBKlein binair object met gegevens van variabele lengteMax. lengte M: 255 ByteM + 1 Byte
MEDIUMBLOBMiddelgroot binair object met gegevens van variabele lengteMax. lengte M: 16.777.215 ByteM + 3 Byte
LONGBLOBGroot binair object met gegevens van variabele lengteMax. lengte M: 4.294.967.295 Byte (4 GB)M + 4 Byte
ENUM (opsomming)Een tekenreeksobject waarvan de toelaatbare waarden bij het aanmaken van de kolom worden gedefinieerdMax. 65,535 verschillende elementen1 of 2 Bytes, afhankelijk van het aantal mogelijke waarden
SETEen tekenreeksobject waarvan de toelaatbare waarden bij het aanmaken van de tabel worden gedefinieerd. Meerkeuze is mogelijkMax. 64 verschillende waarden1, 2, 3, 4 of 8 Byte, afhankelijk van het aantal mogelijke waarden

Best practice

  • Zorg voor een zo correct mogelijk type en de correcte parameters. Je riskeert de juiste inhoud niet te kunnen bewaren, “teveel” ruimte te verspillen of de queries nodeloos complex of niet-performant te maken.
  • Bij het uitvoeren van de actie wordt achterliggend het SQL commando uitgevoerd. Je kan dit zien via de knop “SQL-voorbeeld” of wanneer je op “Opslaan” hebt geklikt.

Na het aanmaken van een tabel kan je bijvoorbeeld ook kolommen toevoegen.

Je kan ook bestaande kolommen wissen, wijzigen enzovoort via de knoppen achter de veldnamen.