Welke SQL codes gebruik ik voor een tabel?
Nogmaals, in deze tutorial gaan we twee tabellen maken. Een nieuws tabel en een reactie tabel.
Een tabel begin je met de volgende code. Hiermee maak (CREATE) je een table (TABLE) met een specifieke naam. Deze naam kun je zelf verzinnen dus (in dit geval nieuws).
Dit commando alleen zal niet werken. Je moet nu ook nog kolommen aanmaken. Deze kolom namen kunnen ook elke naam krijgen die ze willen. Let wel op bestaande SQL commando's zoals: date, table, create etc. want hierdoor zou je misschien een error kunnen krijgen. Het is aan te raden om als eerste kolom de kolom naam: id te gebruiken. Dit zodat elke rij (ook wel record genoemd) een uniek nummer heeft (een id dus). Zo heb je in een later stadium de mogelijkheid om een andere rij, uit dezelfde of een ander tabel, te linken. Hier kom ik later op terug bij het maken van de reactie kolom. Nu eerst dus de kolom: id, let er op dat je kolom namen altijd met kleine letters doet!! Zo kun je je nooit vergissen met het oproepen van een kolom in PHP.
Met dit stukje hierboven maak ik de kolom id aan. De id is een INTEGER. Dit wil zeggen dat de waarde in deze kolom altijd een nummer moet bevatten en geen letters/tekens kan bevatten. Dit geef ik dus aan via: int(11). De 11 tussen haakjes geeft de hoeveelheid aan. De int(11) kan dus gaan tot id nummer: 999999999. Iets wat vrijwel niet snel gehaald wordt. Er staat ook auto_increment achter. Dit betekend dat als er een nieuwe rij wordt toegevoegd, de id kolom automatisch wordt opgeteld met 1. Dus als je drie rijen in je tabel hebt bestaan er 3 id's, 1, 2 en 3. Als er vervolgens een nieuwe rij wordt toegevoegd, krijgt de vierde rij, automatisch het id nummer 4. Als laatste staat er primary key in (dit mag ook alleen key zijn als je een MySQL versie hebt grooter dan 4.1). Het primary key gedeelte geeft aan dat de id uniek moet zijn.
Nu maken we de kolom titel. Hier komt de titel in van het nieuwsbericht.
Natuurlijk weer als eerste de kolom naam, dit is in dit geval titel. Varchar(50) geeft aan dat deze kolom naam cijfers, letters en tekens mag bevatten (varchar is dus cijfers,letters,tekens en int is dus alleen cijfers). De 50 tussen haakjes geeft aan dat de titel maximaal 50 karakters lang mag zijn. Varchar heeft een maximum van 255. Ga je hierboven dan moet je de attribute text gebruiken, hier in de volgende kolom meer over. De not null attribute geeft aan dat de kolom niet null mag zijn.
Bij een titel hoort ook een bericht. Dit doen we als volgt:
Als eerste weer de naam, dit is bericht. De attribute text geeft aan dat het een text is. We gebruiken hier geen varchar omdat varchar vast zit aan maximaal 255 tekens. Een bericht is meestal veel langer. Voor grote teksten dus het attribute text. Not null betekend weer dat het veld niet null mag zijn.
Het is ook altijd leuk om de datum te zien waarop iets is geplaatst. Dit doen we zo:
Het valt je nu natuurlijk op dat er geen komma achter de null staat. Dit omdat ik zometeen van plan ben om de tabel te sluiten. Dit is dus de laatste kolom die ik aanmaak. Ik heb nu voor de lengte van 16 gekozen omdat een datum + tijd in de syntax die ik altijd gebruik 16 tekens heeft (spaties meegerekend): 05-09-2003 09:20. (tel maar :)).
Als je een naam bij een nieuwsbericht wil, kun je natuurlijk ook een extra kolom aanmaken die: naam heet. Hiervan maak je dan dus een varchar met de lengte van 30 ongeveer en deze mag dan ook niet null zijn. Probeer dit later maar eens, eerst verder met de tutorial. Vergeet als je dit later gaat doen niet de komma na het datum veld als je copy/paste.
Nu sluiten we de tabel. Dit doen we zo:
We hebben nu dus de volgende SQL code gemaakt:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
CREATE TABLE tabel_naam (
id int(11) auto_increment primary key,
titel varchar(50) not null,
bericht text not null,
datum varchar(16) not null
);
?>
CREATE TABLE tabel_naam (
id int(11) auto_increment primary key,
titel varchar(50) not null,
bericht text not null,
datum varchar(16) not null
);
?>
« vorige pagina | volgende pagina »
Inhoudsopgave
- Wat is een database tabel?
- Waarmee maak ik een database tabel?
- Welke SQL codes gebruik ik voor een tabel?
- Het maken van de tweede tabel, reacties
- Met PHP nieuws + reacties uit de database halen
- Tot slot, rijen invoegen