phpMyAdmin
Nach der Installation beschäftigt sich dieser Artikel mit dem Verwalten von Datenbanken. Hierzu nutzen wir die Software phpMyAdmin. phpMyAdmin ist quasi die Standardsoftware für das Verwaltungen von MySQL Datenbanken und ist bei so gut wie jedem Webhosting-Anbieter bereits vorinstalliert. Sofern ihr XAMPP nutzt könnt ihr die lokale phpMyAdmin-Installation unter http://localhost/phpmyadmin/ erreichen. Sofern es noch nicht vorinstalliert sein solltet, so ladet phpMyAdmin von der Website runter und entpackt das zip-Archiv in euren htdocs Order. Schon könnt ihr dieses Programm mittels eurem Webbrowser aufrufen.
Inhaltsverzeichnis
Einloggen
Beim ersten Aufruf von phpMyAdmin solltet ihr ein Login-Bildschirm sehen, dort könnt ihr euch mit dem Benutzernamen root und einem leeren Passwort anmelden. Sofern ihr phpMyAdmin von der Website heruntergeladen habt, so erhaltet ihr unter Umständen eine AllowNoPassword-Fehlermeldung. Geht dazu in das phpMyAdmin-Verzeichnis, benennt die config.sample.inc.php in config.inc.php um. Ändert in dieser den Wert für $cfg['Servers'][$i]['AllowNoPassword'] von false zu true. Schon sollte es möglich sein sich einzuloggen.
Sofern ihr bei der Installation von MySQL ein Passwort für den root-Account vergeben habt, müsst ihr dies natürlich entsprechend verwenden. Der root-Account genießt in MySQL alle Rechte und ihr könnt diesen Nutzen zum Verwalten eurer Datenbank. Nutzt ihr ein entsprechendes Webhosting-Angebot, dann habt ihr fast nie root-Rechte. Stattdessen wird euch eurer Webhoster andere Einwahldaten zur Verfügung stellen.
Datenbank anlegen
Als erstes legen wir eine weitere Datenbank an. Dazu klicken wir nach dem Login-Screen oben im Menü auf Datenbanken und geben dort einen neuen Datenbanknamen ein und wählen als Kollation utf8_unicode_ci aus.
Tabelle erstellen
Auf der linken Seite in phpMyAdmin seht ihr eure verschiedenen Datenbanken. Neben ein paar vorab angelegten Datenbanken sollte dort auch eure neue Datenbank erscheinen. Eine neue Tabelle könnt ihr nun anlegen, indem ihr den Bereich Erzeuge Tabelle nutzt. Im folgendem Tutorial erklären wir die Funktionen anhand einer User-Tabelle. Diese soll folgende Spalten besitzen:
- id - Eindeutige Nummer für jeden Nutzer
- Passwort
- Vorname
- Nachname
- created_at - Zeitinformation wann der Eintrag erstellt wurde
- updated_at - Zeitpunkt der letzten Aktualisierung des Eintrags
Sprich, wir erstellen eine users-Tabelle mit 7 Spalten:
Nach dem Klick auf Ok können wir die verschiedenen Spalten anlegen. Fertig sieht unsere Users-Tabelle wie folgt aus:
Der nötige SQL-Code, den phpMyAdmin für euch erstellen wird und ausführen wird um diese Datenbank anzulegen sieht wie folgt aus:
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE `users` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `passwort` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `vorname` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `nachname` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; |
Erklärung:
Für unsere id haben wir als Typ int (kurz für integer) ausgewählt. Als Attribut haben wir für diese Spalte unsigned gewählt, das heißt, in diesem Feld können nur positive Werte abgespeichert werden. Unter Index haben wir Primary ausgewählt. Primary ist der Primärschlüssel der Tabelle, das bedeutet alle späteren Zeilen in unserer User-Tabelle müssen einen Wert für id gesetzt haben und dieser Wert muss eindeutig sein. Zuletzt haben wir noch den Hacken bei id bei A_I gesetzt. A_I steht für auto increment und sofern wir dieses setzen, wird MySQL zukünftig automatisch fortlaufende Nummern als id vergeben. Wir müssen uns also um die korrekte und eindeutige Vergabe von ids nicht kümmern.
Für die Spalten email, passwort, vorname, und nachname haben wir den Typ varchar gewählt. varchar erlaubt Texteingaben bis maximal 65.535 Zeichen. In unserem Fall haben wir die Länge der Spalten bis 255 begrenzt. Für email haben wir als Index UNIQUE gewählt. Dies gewährleistet, dass keine doppelte Einträge in dieser Spalte vorhanden sein können. Sprich, sobald ein Benutzer mit einer E-Mail-Adresse in der Tabelle angelegt ist, könnt ihr keinen weiteren Nutzer mit der selben E-Mail-Adresse anlegen.
Die Spalten created_at und updated_at besitzen als Typ timestamp. Damit lassen sich Datums- und Zeitangaben speichern. Als Standardwert wurde für created_at CURRENT_TIMESTAMP ausgewählt, d.h. MySQL wird beim Anlegen neuer Datensätze diese Felder automatisch mit der aktuellen Zeitinformation befüllen.
Für updated_at erlauben wir null-Werte und der Standardwert dieser Spalte ist null. Mehr zum Zweck der created_at-Spalte wird im Artikel DATE-Datenbankspalten erklärt werden. Für den Anfang sind die Spalten created_at und created_at erstmal nicht so relevant.
Autor: Nils Reimers