1. Werte ausgeben
Wenn nun die Tabellen mit Datensätzen gefüllt sind wäre es auch wünschenswert wenn diese Datensätze ausgelesen werden können. Dazu wird der MySQL-Befehl SELECT verwendet. Der SELECT-Befehl hat eine sehr hohe Anzahl an Parametern. Unabhängig wie der SELECT-Befehl nun aussieht und was er ausrechnet ist das Ergebnis immer eine Tabelle, auch Ergebnistabelle oder result set genannt. Diese Ergenistabelle besitzt, je nach SELECT-Anfrage, N Spalten und M Zeilen wobei auch 0 Zeilen möglich sind. Jede Spalte in der Ergebnistabelle besitzt einen Namen mit der man auf die entsprechende Spalte zugreifen kann.
Als einfachen SELECT-Befehl lassen wir uns Werte zurückliefen ohne erstmal auf eine
Tabelle zuzugreifen. Dabei schreiben wir hinter dem SELECT
-Schlüsselwort
die Werte hin die wir auslesen wollen. Mehrere Werte trennen wir dabei mit Kommatas.
Die Werte können konstante Werte sein, können aber auch Funktionsaufrufe sein.
SELECT NOW(), "Foobar", 6;
Dieser Query erzeugt eine Ergebnistabelle mit 3 Spalten und einer Zeile.
NOW() | Foobar | 6 |
---|---|---|
2008-08-17 14:31:10 | Foobar | 6 |
Die Spalten haben die Namen NOW()
, Foobar
und 6
. Wie man
sieht enthält der (einzige) Datensatz in der Ergebnistabelle in der Spalte NOW()
den Wert von der Funktion zum Zeitpunkt als der Query ausgeführt wurde.
Die Spaltennamen heißen so wie die Werte in dem SELECT-Query. Um andere Namen zu verwenden wird
der AS ...
-Ausdruck verwendet, wobei ...
der neue Name der Spalte ist.
Er wird einfach hinter dem Wert angehängt zu er ein neue Name festgelegt werden soll.
SELECT NOW() AS Jetzt, "Foobar" AS Username, 6 AS Level;
Jetzt | Username | Level |
---|---|---|
2008-08-17 14:37:22 | Foobar | 6 |
Dieses Umbenennen ist wichtig wenn später versucht wird aus zwei Tabellen gleichzeitig zu lesen aber beide Tabellen jeweils eine Spalte mit den gleichen Namen besitzen (üblicherweise die ID-Spalte).
2. SELECT-Query einrücken
Da SELECT-Queries die Angewohnheit haben sehr lang zu werden ist es üblich ihn wie bei den anderen SQL-Queries sauber einzurücken um die Übersicht zu erhöhen. Die Werte nach dem SELECT-Schlüsselwort schreibt man dann üblicherweise jeweils in einer Zeile und jeweils um eine Einrücktiefe eingerückt.
SELECT NOW() AS Jetzt, "Foobar" AS Username, 6 AS Level;
Aus dem Query wird dann folgender Query.
SELECT NOW() AS Jetzt, "Foobar" AS Username, 6 AS Level;
Somit sieht man sofort wieviele Spalten die Ergebnistabelle haben wird.