Hauptmenü

Untermenü

MySQL - SQL

1. Einführung

SQL steht für Structured Query Language. Dabei handelt es sich um eine Abfragesprache, durch die der Client mit dem Server "spricht". Sie zeichnet sich durch starke Anlehnung an die englische Sprache aus und ist bewusst sehr einfach gehalten. Daher war ihre ursprüngliche Bezeichnung auch SEQUEL (Structured English Query Language).

Mittlerweile gibt es sogar einen Standard für die Sprache, an den sich allerdings keiner richtig hält (wie sollte es auch anders sein). Leider Gottes weicht in unserem Fall MySQL ganz besonders stark von diesem Standard ab. Aber ein kleiner Trost folgt, man arbeitet daran. Was ihr also hier zu sehen bekommt, ist das SQL des RDMS MySQL.

2. Ein paar grundsätzliche Dinge

SQL ist keine echte Programmiersprache!

Das bedeutet, dass man in wie auch immer gearteten Anwendung gezwungen ist, große Teile der Logik über eine echte Programmiersprache zu steuern. Leider führt dies bei vielen Anfängern zu einer falschen Schlussfolgerung. Die holen sich mit einfachsten Anfragen irgendwelche Datensätze und differenzieren erst auf der Ebene der eigentlichen Programmiersprache.

Leider ist dies der falsche Weg. Wenn man mit SQL die Möglichkeit hat, Daten nach bestimmten Kriterien zu filtern, so sollte man das auch tun. Und nicht erst später in der Anwendung. Das reduziert die Menge der zu verarbeitenden Datensätze und steigert in den meisten Fällen auch die Performance.

Tinnef!

Wer sich schon mal an das aktuelle Referenzhandbuch gewagt hat, ist sicher des Öfteren über völlig hirnlose Beispiele wie SELECT 1 + 1 gestolpert. Ach ja, das Ergebnis ist natürlich 2. Für so etwas braucht man aber definitiv keine Datenbankabfrage. Nicht lachen, habe tatsächlich in Foren schon gesehen, dass Leute in PHP-Dateien(!) Dinge an einen MySQL-Server auslagerten, die man auch ohne Abfrage mit PHP selber ganz einfach hätte lösen können.

Und darum werde ich mich bei den folgenden Erläuterungen ausschließlich auf sinnvolle Einsatzmöglichkeiten konzentrieren und diesen schwachsinnigen Mist komplett ignorieren.

3. Die Kommunikation

Bei den Grundlagen habe ich ja schon einen ersten Einblick in das Thema gegeben. Kommen wir nun zum eigentlichen Prinzip. Das gliedert sich einfach gesagt, in drei Schritte.

Schritt 1

Der Client sendet eine SQL-Anfrage an den Server.

Schritt 2

Der Server prüft, ob diese korrekt ist.

Schritt 3

Wenn der Server einen Fehler in der SQL-Anfrage entdeckt, so liefert er eine entsprechende Fehlermeldung an den Client. Ansonsten wird sie verarbeitet und der Client bekommt das Ergebnis zurückgeliefert.

Illustration

SQL

4. Begriffe

Bisher habe ich immer den Ausdruck "Anfrage" benutzt. Und SQL ganz oben als Abfragesprache bezeichnet. Leider gilt auch hier mal die alte Regel, dass es etliche Bezeichnungen für ein und dieselbe Sache gibt. Man kann also sowohl von einer Abfrage als auch von einer Anfrage reden. Ich persönlich bevorzuge den eher neutralen Begriff SQL-Statement. Auch wenn es sich dabei mal wieder um einen Anglizismus handelt. Sei's drum, ich hoffe, ihr werdet mich bei meinen folgenden Erläuterungen verstehen.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt