MySQL

Erste Schritte

Bislang haben Sie von der XAMPP-Installation nur den Webserver sowie PHP in Anspruch genommen. Um jedoch aufwändige Webanwendungen, bei denen eine Datenbank zur Speicherung der Daten benötigt wird, zu realisieren, müssen Sie sich mit MySQL beschäftigen. MySQL ist perfekt an PHP angebunden und PHP stellt verschiedene Funktionen zum Arbeiten mit MySQL bereit.

Um die ersten Schritte mit MySQL so einfach wie möglich zu gestalten, wird in den folgenden Beispielen das webbasierte Programm “phpMyAdmin” verwendet. Dieses sollte bereits mit dem XAMPP-Paket installiert worden sein.

Zu jedem Beispiel finden Sie auch immer den vollständigen MySQL-Befehl. Möchten Sie tiefer in die Datenbanksprache MySQL einsteigen, ist es empfehlenswert, ein gutes Buch zu kaufen und das MySQL-Handbuch unter http://www.mysql.org durchzuarbeiten.

Datenbank anlegen

Bevor Sie mit MySQL arbeiten können, müssen Sie eine Datenbank anlegen. In dieser Datenbank werden die Tabellen abgelegt, die letztendlich die gespeicherten Daten enthalten.

Um eine neue Datenbank anzulegen, rufen Sie das Programm “phpMyAdmin” in Ihrem Webbrowser auf. Auf der erscheinenden Startseite legen Sie über das Formular “Neue Datenbank anlegen” eine neue Datenbank mit Namen “mydatabase” an.

Benutzen Sie das Menü in der linken Navigationsleiste, um die gerade erstellte Datenbank “mydatabase” auszuwählen. Da die Datenbank noch völlig leer ist, erhalten Sie die Meldung, dass keine Tabellen in der Datenbank gefunden wurden.

Der zu Erstellung einer Datenbank erforderliche MySQL-Befehl lautet:

CREATE DATABASE `mydatabase` ;

Tabelle anlegen (CREATE)

Um Daten in einer Datenbank zu speichern, müssen Sie Tabellen anlegen. Eine Datenbank kann dabei eine theoretisch unbegrenzte Anzahl von Tabellen enthalten. Die maximal zulässige Anzahl spielt in der Praxis, insbesondere bei Webanwendungen, aber kaum eine Rolle.

Rufen Sie in phpMyAdmin die gerade erstellte Datenbank “mydatabase” auf und benutzen Sie das Programm, um eine neue Tabelle zu erstellen. Die Tabelle trägt den Namen “gaestebuch” und besitzt fünf Spalten (Felder).

Feld Typ (Länge) Bemerkungen
ID INT (11) Aktivieren Sie zusätzlich das Extra “auto_increment” und geben Sie an, dass das Feld ein Primärschlüssel sein soll.
Name VARCHAR (100)
Titel VARCHAR (50)
Eintrag TEXT
Erstellt DATETIME

Wie Ihnen bestimmt schon aufgefallen ist, dient diese Tabelle der Speicherung von Einträgen eines Gästebuch. Das Gästebuchbeispiel wird in den folgenden Kapiteln auch beibehalten, um Ihnen PHP und MySQL näher zu bringen.

Zum Schluss der zum Anlegen einer Tabelle notwendige MySQL-Befehl.

CREATE TABLE `gaestebuch` (
`ID` INT NOT NULL AUTO_INCREMENT ,
`Name` VARCHAR( 100 ) NOT NULL ,
`Titel` VARCHAR( 50 ) NOT NULL ,
`Eintrag` TEXT NOT NULL ,
`Erstellt` DATETIME NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM ;


Zeilen in die Tabelle einfügen (INSERT)

Nachdem Sie die Tabelle erstellt haben, ist es mit Hilfe von phpMyAdmin sehr leicht, Einträge (Zeilen) hinzuzufügen. Rufen Sie über den Menüpunkt “Einfügen” das Formular zum Einfügen einer neuen Zeile auf. Sie müssen sich dazu in der Tabelle befinden, d. h. diese muss in der linken Navigationsleiste ausgewählt sein.

Machen Sie den nachstehenden Eintrag in der Tabelle “gaestebuch”:

Feld Wert
ID Lassen Sie dieses Feld komplett leer. Sobald Sie den Befehl abschicken, fügt MySQL dem Eintrag automatisch eine ID hinzu. Diese Eigenschaft haben Sie bereits als Extra bei der Definition der Tabelle angegeben (”auto_increment”).
Name Geben Sie beispielsweise Ihren Namen ein.
Titel Vergeben Sie einen Titel wie “Der erste Gästebucheintrag”.
Eintrag Notieren Sie einen Text, z. B. “Dies ist der erste Eintrag in meinem Gästebuch.”.
Erstellt Lassen Sie dieses Feld wie es ist und wählen Sie aus dem DropDown-Menü den Wert “NOW” aus. Dieser bewirkt, dass dem Eintrag automatisch das aktuelle Datum hinzugefügt wird.


Der dazugehörige SQL-Befehl sieht folgendermaßen aus:

INSERT INTO `gaestebuch` ( `ID` , `Name` , `Titel` , `Eintrag` , `Erstellt` )
VALUES (
”, ‘Max Mustermann’, ‘Der erste Gästebucheintrag’, ‘Dies ist der erste Eintrag in meinem Gästebuch.’, NOW( )
);

Zeilen der Tabelle anzeigen (SELECT)

Mit Hilfe von phpMyAdmin können Sie sich auch den aktuellen Inhalt einer Tabelle anzeigen lassen. Wählen Sie dazu die Tabelle aus und klicken Sie auf “Anzeigen”.

Der MySQL-Befehl dazu sieht so aus:

SELECT * FROM `gaestebuch` ;
21.3 Zeilen löschen (DELETE)

Irgendwann ist jeder Eintrag überflüssig und sollte gelöscht werden, damit die Tabelle nicht zu groß wird. Innerhalb von phpMyAdmin lassen Sie sich zuerst die Einträge der Tabelle ausgeben. Anschließend können Sie dann über einen Button “Löschen” die entsprechende Zeile entfernen.

Über den DELETE-Befehl und einer (oder mehrere) WHERE-Bedingungen werden Zeilen aus der Tabelle gelöscht.
DELETE FROM `gaestebuch` WHERE `Name` = ‘Max Mustermann’ ;

Der obige Befehl löscht Ihren ersten Eintrag.

Wird die obige Bedingung weggelassen, wird die gesamte Tabelle geleert und damit alle Zeilen aus der Tabelle gelöscht! Innerhalb von phpMyAdmin erreichen Sie dies durch einen Klick auf den Link “Leeren”.

Tabelle löschen (DROP)

Möglicherweise müssen Sie irgendwann einmal die gesamte Tabelle löschen. Um mit “phpMyAdmin” die Tabelle dauerhaft zu löschen, genügt ein Klick auf den Link “Löschen” im Menü.

Der dazugehörige MySQL-Befehl lautet folgendermaßen:

DROP TABLE `gaestebuch` ;

Tipps & Trick im Umgang mit MySQL

Bei der Eingabe von MySQL-Befehlen gibt es einige Fehler, die immer wieder gerne gemacht werden und oft nur schwer zu erkennen sind.

CREATE

  • Bei den beiden Feldtypen BLOB und TEXT ist keine Angabe der maximalen Länge erlaubt.
  • Weder Feld- noch Tabellennamen dürfen Sonderzeichen wie z. B. ä, ö, ü, ß enthalten.

INSERT

  • Die Anzahl der Feldnamen und einzufügender Werte muss immer identisch sein.
  • Feldnamen dürfen nicht, Werte müssen von Hochkommata eingeschlossen werden.

SELECT

  • Bei der Abfrage auf Gleichheit darf kein doppeltes Gleichzeichen (==) wie bei PHP verwendet werden.
  • Bei der LIMIT-Angabe beginnt der erste Parameter (Startwert) bei 0. Ist der erste Wert (Startwert) gleich Null, kann man ihn weglassen, z. B. LIMIT 3 (gibt die ersten drei Zeilen aus).

DELETE

  • Der Aufruf von DELETE ohne Bedingung leert die gesamte Tabelle.

Die grundlegenden MySQL-Befehle mit Hilfe von phpMyAdmin haben Sie jetzt kennen gelernt. Die vorgestellten MySQL-Befehle sind übrigens fast ausnahmslos auf andere SQL-basierte Datenbanksysteme übertragbar.

In den folgenden Kapiteln erfahren Sie mehr über das Zusammenspiel von PHP und MySQL. Dazu wird weiterhin das Gästebuch-Beispiel verwendet.