MySQL - SQL - Grundlagen
1. Fehlertypen
Hier gibt es verschiedene Möglichkeiten, die sich zum Teil aber deutlich von PHP und anderen Programmiersprachen unterscheiden. Kommen wir daher erst mal zum Altbekannten.
Syntaxfehler
Dies passiert, wenn man gegen die grundsätzlichen Sprachregeln von SQL verstößt. Auf gut Deutsch gesagt heißt das, wenn man sich mal wieder
vertippert hat. Die Meldung dazu sieht dann prinzipiell so aus: SQL-Error: You have an SQL-Error in your Syntax. Please check the
manual
... und so weiter.
Strukturfehler
Die treten dann auf, wenn das SQL-Statement nicht mit der Struktur einer Datenbank oder Tabelle übereinstimmt. Also wenn man zum Beispiel nach einer Spalte sucht, die nicht existiert. Oder wenn man meinetwegen fünf Werte in eine Tabelle schreiben möchte, die aber nur aus vier Spalten besteht. Oder man auf eine Tabelle zugreifen möchte, die gar nicht existiert. Und wegen der Vielzahl von Möglichkeiten gibt es auch dementsprechend unterschiedliche Fehlermeldungen.
Regelfehler
Hier haben wir es mit einem relativ(!) selten auftretenden Problem zu tun. Es tritt vor allem bei Gruppierungen auf, wo man unter Umständen bestimmte Anweisungen nicht benutzen darf. Darauf werde ich aber im geplanten Tutorial "Advanced MySQL" eingehen.
2. Befehle und Funktionen
Auch hier gibt es einen gewaltigen Unterschied zu PHP. Und jetzt wird es ein wenig kompliziert. Also! Zunächst mal arbeitet man in SQL immer(!) mit Befehlen. Damit weist man den Server an, sie auszuführen. Funktionen dagegen sind nur zusätzliche Unterstützungsmaßnahmen, mit denen spezielle Operationen innerhalb eines Befehls ausgeführt werden. Klingt im Moment noch ein wenig seltsam, aber das Licht der Erleuchtung wird hoffentlich bald über euch erstrahlen.
Rückgabewerte
Im Gegensatz zu PHP liefert ein SQL-Befehl immer(!) etwas zurück. Dabei kann es sich um ein Ergebnis handeln oder um die simple Meldung, dass etwas funktioniert hat. Es gibt, einfach gesagt, die folgenden Möglichkeiten.
- Ein Suchergebnis
- Ein funktionsbasiertes Ergebnis
- Anzahl der betroffenen Datensätze
- Die ID eines eingefügten Datensatzes
- Eine Abfrage wurde erfolgreich ausgeführt
3. Kommentare
Das gehört zwar eigentlich unter den Punkt Syntax, da man Kommentare aber eher selten benötigt, weise ich hier schon darauf hin. Dabei gibt es zwei Möglichkeiten, die wir schon aus PHP kennen.
# Einzeiliger Kommentar
/*
* Mehrzeiliger Kommentar
*/
Die Sache mit den zwei Schrägstrichen (//
) funktioniert in SQL allerdings nicht.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt