|
Select - Statement
Bedeutung: Mit der SELECT-Anweisung lassen sich alle oder bestimmte Daten aus einer oder mehreren Tabellen holen. Alle Daten aus einer Tabelle holen Allgemeine Form:
Im Beispiel werden alle Daten aus der Tabelle adressen geholt (alle Werte aus allen Spalten). Das Sternchen in derAnweisung fungiert als Platzhalter. Da alle Daten aus der Tabelle geholt werden ist das Ergebnis dieser Abfrage identisch mit der Tabelle adressen.
Eine bestimmte Spalte aus einer Tabelle holen Häufig benötigt man aber garnicht alle Daten aus einer Tabelle sondern nur einige Spalten. In diesem Fall muß der Name des gewünschten Feldes (Spalte) explizit angegeben werden.
Als Ergebnis der obigen Abfrage werden alle Werte des Feldes nachname der Tabelle adressen ausgegeben. Kurz: Alle Nachnamen werden ausgegeben. Das Ergebnis könnte dann z.B. wie in der folgenden Abbildung aussehen. Beispiel:
Mehrere bestimmte Spalten aus einer Tabelle holen Will man mehrere Felder gleichzeitig abfragen müssen die Feldnamen - durch Komma und Leerzeichen getrennt - hintereinander geschrieben werden.
Als Ergebnis der obigen Abfrage werden alle Werte der angegebenen Felder der Tabelle adressen ausgegeben. Folgendes Ergebnis wäre denkbar: Beispiel:
Außer den Feldern id und plz sind alle Felder - wie in der Anweisung angegeben - in der Abfrage enthalten. Spalten aus mehreren Tabellen holen Will man mehrere Felder aus mehreren Tabellen in einem Statement abfragen müssen die Namen der Tabellen durch Komma und Leerzeichen getrennt hintereinander (hinter FROM) geschrieben werden. Beispiel:
Kommt ein Feld in beiden Tabellen vor, so muss jedem Feld der Tabellenname vorangestellt werden da der Feldname ansonsten nicht eindeutig ist. Beispiel:
Es können auch mehr als zwei Tabellen in einer Abfrage angesprochen werden. Hier ist jedoch Vorsicht angesagt: Je größer die abgefragten Tabellen sind und je mehr Tabellen und Felder abgefragt werden desto größer die Ergebnismengen. Hier können schnell riesengroße Ergebnismengen entstehen. Beispiel:
Mehrere Tabellen aus verschiedenen Datenbanken abfragen Um Tabellen aus verschiedenen Datenbanken auf dem selben MySQL-Server abzufragen muß den einzelnen Tabellen ein Präfix mit dem Namen der Datenbanken vorangestellt werden. Allgemeine Form:
Tabellen exportieren: SELECT * INTO OUTFILE Mit MySQL ist es möglich, ganze Tabelleninhalte (oder auch Teile) in Textdateien zu exportieren. Und das in einer hohen Geschwindigkeit. Diese Dateien können dann als Sicherungsdatei dienen oder aber auch in Access, StarCalc oder ähnliches importiert werden. Die grundsätzliche Syntax ist recht einfach:
Es ist auch möglich, die Trennzeichen zwischen den Feldwerten und am Ende jedes Datensatzes zu bestimmen:
Das obige Beispiel würde eine CSV-Datei (Felder getrennt durch Semikolon, Zeilenende durch Zeilenumbruch) generieren, die später z.B. mit Excel weiter bearbeitet werden kann. Hinweis: Der Name der Datei, in der das Ergebnis der Abfrage gespeichert werden soll, muß vor FROM stehen. Wenn die Datei nicht existiert versucht MySQL sie anzulegen. Beim Exportieren von Daten können wie beim 'normalen' SELECT alle Optionen benutzt werden. Im folgenden Beispiel werden nur bestimmte Spalten aus zwei Tabellen exportiert.
Einschränken von Ergebnismengen Wenn man Tabellen abfragt will man im seltensten Fall den gesamten Tabelleninhalt anzeigen. In MySQL gibt es dazu (wie bei anderen Datenbanken auch) weitere Möglichkeiten, die u.a. in Kombination mit dem SELECT-Statement benutzt werden können:
|
||||||||||||||||||||||||||||||||||||||||||
|
Letzte Änderung: 17. Mai 2002, 22:26 Uhr © 2002, Klaus Becker, becker-k@web.de |