Wat is MySQL?

MySQL is de meest populaire database-systeem in combinatie met PHP. Het is misschien wel de snelste, goedkoopste, eenvoudigste en meest betrouwbare database, die ook nog eens de meeste faciliteiten heeft en verkrijgbaar is voor zowel unix, windows, linux, enzovoorts.

De gegevens in een MySQL-database worden opgeslagen in tabellen. Een tabel is een verzameling van gerelateerde gegevens, en bestaat uit kolommen en rijen. Databases zijn bruikbaar voor het opslaan van informatie categorisch. Een bedrijf kan een database met de volgende tabellen:

  • werknemers
  • producten
  • klanten
  • bestellingen

Wat is een database eigenlijk?

Een database is een afzonderlijke toepassing die een verzameling gegevens opslaat.

Databases en PHP vormen een onafscheidelijk duo. Een van de grote voordelen van PHP is dan ook de gemakkelijke databaseconnectiviteit die het biedt. In één de volgende lessen wordt aandacht besteed aan het werken met een database vanuit eigen ontwikkelde PHP code. In de les van vandaag wordt op een andere manier gewerkt met een database, namelijk met het pakket PHPMyAdmin.

Werken met PHPMyAdmin

Tijdens deze les wordt er vanuit gegaan dat je werkt met de XAMPP/Wamp webserver. Om PHPMyAdmin te benaderen, moet je er voor zorgen dat zowel Apache als MySQL is gestart:

Wanneer alles “groen” is, ga je met de browser naar http://localhost/phpmyadmin. Mogelijk kom je het volgende scherm tegen. Vul daarin je gebruikersnaam en wachtwoord is (bij standaard XAMPP installaties is de gebruikersnaam ‘root’ en het wachtwoord leeg:

Wanneer je succesvol weet in te loggen, of als je bovenstaand scherm niet tegenkomt, kom je in het “overzichtsscherm” van PHPMyAdmin terecht:

Aan de linkerkant van het scherm zie je het overzicht van databases dat op dit moment beschikbaar is.

Een database aanmaken en openen

Voor deze cursus is het de bedoeling dat je een nieuwe database aanmaakt waarin je gaat experimenteren met MySQL. De naam die je aan deze database geeft is “ict_voornaam. Je maakt een database aan door op “databases” boven in het scherm te klikken en het volgende in te vullen en op “create” te klikken:

Wanneer de database aangemaakt is, zie je hem links in het overzichtsscherm van PHPMyAdmin verschijnen. Je kunt de inhoud van de database bekijken door er op te klikken.

Een tabel aanmaken in een geopende database

Wanneer je een lege database opent krijg je direct de mogelijkheid om een tabel aan te maken in de database. Hierbij moet je een naam voor de tabel verzinnen en moet je aangeven wat het aantal kolommen van de tabel is. Voor deze cursus maak je een tabel aan met als naam “guestbook” en het aantal kolommen zal 6 bedragen. Hier over zo dadelijk meer. Als je er klaar voor bent klik je op “Go”:

Van mensen die een bericht in ons gastenboek gaan plaatsen, willen we een aantal zaken weten. Deze worden hieronder besproken, maar eerst een screenshot van wat je moet invullen bij het aanmaken van de tabel “guestbook”:

  • De id van het bericht: om berichten later te kunnen verwijderen of te kunnen wijzigen, is het belangrijk dat je het bericht kunt benaderen aan de hand van een uniek nummer. We nemen een kolom “id” op in de tabel waar we met behulp van “auto increment” (A_I) er voor zorgen dat elk nieuw aangemaakt bericht automatisch een identificatienummer toebedeeld krijgt. De kolom “id” zal dus een nummer bevatten. Dat geven we aan door bij “type” te kiezen voor “int”. “int” staat voor integer. Door een lengte van 5 aan te geven, zorgen we er voor dat er maximaal 99.999 berichten in het gastenboek kunnen worden geplaatst.
  • De naam van de afzender: we willen graag weten wie de afzender is van het bericht. Vandaar dat we een kolom “name” aanmaken. Aangezien een naam meestal uit tekst bestaat, kiezen we als type voor “varchar”. Hiermee geef je aan dat de naam van de afzender zowel letters als cijfers mag bevatten. De maximum lengte van de naam beperken we tot 40 tekens.
  • De email van de afzender: om de afzender te kunnen bereiken, is het handig dat de afzender een e-mailadres kan achterlaten.
  • De eventuele website van de afzender.
  • De postdate van het bericht is de datum+tijd waarop het bericht is ingevuld. Deze kolom zal een unix timestamp bevatten van wanneer het bericht is ingevuld door de afzender van het bericht. Omdat de unix timestamp een cijfer vertegenwoordigd, kiezen wel als type wederom voor INT.
  • De message kolom bevat het daadwerkelijke bericht dat de afzender in het gastenboek wil plaatsen. Het bericht kan zowel cijfers als letters bevatten, maar we kiezen deze keer niet voor varchar als type. Dat heeft er mee maken dat een kolom die van het type varchar is, niet meer dan 256 karakters mag bevatten. Als je een kolom als type “text” meegeeft, kan er véél meer tekst in de kolom (tot 16.700.000 tekens).

Als je klaar bent met het definieren van de kolommen, klik je op “save”. Als alles goed gaat, krijg je kort de melding “table ‘guestbook’ has been created”. De pagina wordt ververst, en je ziet de tabel verschijnen in het overzicht van tabellen voor de database “ict_voornaam”.

Een rij (of record) toevoegen in een tabel

Aangezien we nog niet zelf een gastenboek hebben gebouwd waarmee we berichten kunnen toevoegen en verwijderen, moeten we ons op dit moment redden met PHPMyAdmin. In het overzicht van tabellen vind je achter elke tabel een aantal knopjes:

Met behulp van de knop “insert” is het mogelijk om data in de tabel op te slaan. Wanneer je hier op klikt krijg je het volgende scherm met mogelijkheden te zien:

In de kolom “value” kun je voor elke tabelkolom een betreffende waarde invullen. In de kolom “function” kun je voor de betreffende tabelkolom een functie laten uitvoeren. Hier doen we tijdens de basiscursus niets mee. Aangezien we bij het aanmaken van de tabel hebben aangegeven dat het id automatisch moet worden ingevuld, laten we de “value” hiervoor leeg. De andere “values” vul je met je naam, e-mailadres, website, postdate (doe voor de lol 1234567890) en een bericht. Als je klaar bent klik je op “Go”. Als alles goed gaat zie je kort de melding “1 row inserted ” verschijnen.

De inhoud (= rijen of records) van een tabel bekijken

Aangezien je nu een of meer berichten hebt toegevoegd met de hiervoor beschreven methode, kun je nu op de knop “browse” achter je gastenboek klikken om de inhoud van de tabel te bekijken:

Zoals je ziet krijg je een overzicht van berichten te zien en kan je berichten wijzigen, kopiëren of verwijderen met behulp van PHPMyAdmin.