Abfrage (SELECT)

Die Grundvoraussetzungen für die Arbeit mit Datenbanken sind geschaffen.

Damit können wir uns jetzt mit der Abfrage der Informationen durch die SQL-Anweisung "SELECT" beschäftigen. Wir betrachten zuerst die SQL-Anweisung, die uns eine Ereignisliste ausgibt und bauen diese anschließend in ein praktisches Beispiel ein.


Datenbank betrachten

Bevor wir willkürlich irgendwelche Abfragen an die Datenbank schicken, betrachten wir die Tabelle "person" zuerst in phpMyAdmin.

gesamte Tabelle person

Klar zu erkennen sind die verschiedenen Spalten mit den Bezeichnungen: "person_id", "anrede", "vorname", "nachname", "geburtsdatum", "familienstand" und "hochzeitsdatum". Eine Datenbankabfrage kann selbstverständlich nur ausgeführt werden, wenn wir auf die richtigen Spalten zugreifen.


Die SELECT Anweisung

Mit dem Schlüsselwort "SELECT" übermitteln wir der Datenbank bereits zu Beginn, das wir etwas auswählen wollen. Direkt nach dem Schlüsselwort übergeben wir der Datenbank auch die Informationen, aus welcher Spalte wir die Informationen ausgeben lassen wollen. Mit dem Schlüsselwort "FROM" geben wir an, von wo die Daten kommen sollen. Nach dem Schlüsselwort geben wir den Tabellennamen an. Am Ende jeder Anweisung wird mit dem Semikolon (;) das Ende des Befehls gekennzeichnet.

einfache Datenbankabfrage

SELECT vorname FROM person;

Eine schnelle Überprüfung der SQL-Anweisung kann auch in phpMyAdmin durchgeführt werden. Einfach auf den Reiter "SQL" klicken und die SQL-Anweisung eintragen.

SQL-Reiter auf phpMyAdmin

Nach einem Klick auf "OK" wird das Ergebnis auf dem Monitor sichtbar.

Ereignisliste nach Abfrage

Mehrere Datenfelder ausgeben

Sollte die Ausgabe mehrerer Werte erwünscht sein, werden die Spaltennamen mit einem Komma voneinander getrennt, zwischen "SELECT" und "FROM" übergeben.

einfache Datenbankabfrage

SELECT vorname, nachname FROM person;

Alle Datenfelder ausgeben

Wenn alle Spalten einer Tabelle ausgegeben werden sollen, dann können entweder alle Spaltennamen in der Abfrage angegeben werden, oder es wird das Sternchensymbol (*) verwendet, um der Datenbank mitzuteilen, dass alle Spalten der Tabelle ausgegeben werden sollen.

einfache Datenbankabfrage

SELECT * FROM person;

Praktisches Beispiel im System

Kommen wir zu dem praktischen Teil, in dem die Ausgabe vom System erzeugt wird und auf dem Monitor erscheint.

In diesem Beispiel werden wir uns die Anreden und die Namen der Personen ausgeben lassen, die in der Datenbank hinterlegt sind. Das Beispiel beruht auf dem Konstrukt, welches im Kapitel "Erste Schritte" behandelt wurde. Diesmal lassen wir uns nur andere Informationen ausgeben.

Daten abfragen mit PHP

if ($db = mysqli_connect("localhost", "root", "", "training")) {
 echo "";
} else {
   exit ("Verbindungsfehler: " . mysqli_connect_error());
}
$abfrage = "SELECT anrede, vorname, nachname FROM person";
 if ($ausgabe = mysqli_query($db, $abfrage)) {
  echo "<ul>";
   while ($zeile = mysqli_fetch_assoc($ausgabe)) {
    echo "<li>" . htmlspecialchars($zeile["anrede"]) . " " . htmlspecialchars($zeile["vorname"]) . ", " . htmlspecialchars($zeile["nachname"]) . "</li>";
   }
   echo "</ul>";
 }
mysqli_close($db);

Weiter mit Bedingung (WHERE)