MySQL - SQL - Grundlagen- Syntax
1. Schreibweise
Wie ich schon sagte, ist SQL eine bewusst einfache gehaltene Abfragesprache. Dabei wird nicht zwischen Groß- und Kleinschreibung
unterschieden. Es ist also völlig egal ob eure Abfrage so aussieht: SUCHE ALLE AUS TABELLE xyz
oder so: suche
alle aus tabelle xyz
. Es hat sich allerdings ein Standard eingebürgert. SQL-Befehle werden groß geschrieben, Datenbank-,
Tabellen- und Feldnamen klein (nur nicht in meiner derzeitigen Firma, da ist man der gegenteiligen Meinung).
Datenbank-, Tabellen- und Spaltennamen
Wie ich schon direkt zu Beginn sagte, spielt die Groß- und Kleinschreibung unter Windows keine Rolle, bei Unix-Systemen aber schon. Denkt an die Schreibweisen. Ihr solltet euch also sofort einen einheitlichen Stil angewöhnen, sonst kommt ihr irgendwann in des Teufels Küche. Denkt an meinen Tipp von oben und schreibt alles klein. Und benutzt den Singular, das hat sich mittlerweile auch durchgesetzt.
Aufbau
Wenn wir mal ein paar Ausnahmen ignorieren, so setzt sich ein SQL-Statement aus den folgenden Komponenten zusammen.
[BEFEHL][Spalte/n][Tabelle/n][BEDINGUNG][SORTIER-/GRUPPENFUNKTION];
Die Bedingung und die Sortier-/Gruppenfunktionen dabei sind optional. Außerdem können Letztere auch direkt nach dem Befehl kommen. Dazu später aber mehr. Ein konkretes Beispiel könnte so aussehen.
SELECT
id,
artikel,
preis
FROM
produkt
WHERE id < 10
AND preis > 10
ORDER BY
preis DESC;
Hier suchen wir also die Werte der Spalten id
, artikel
und preis
aus der Tabelle produkt
,
wo die ID kleiner 10 und der Preis größer 10 ist. Dann wird absteigend nach dem Preis sortiert, es kommen also zuerst die höchsten.
2. Anführungszeichen
... werden immer dann genutzt, wenn man es mit Zeichenketten zu tun hat, die keine Zahlen sind. Dabei kann man sowohl die einfachen Hochkommata als auch die normalen Anführungszeichen benutzen.
SELECT
preis
FROM
produkt
WHERE
artikel = 'Zange';
Backticks
Dabei handelt es sich um den komischen Strich neben der ß?\
-Taste, den man übrigens nur im Kombination mit der Umschalt-
und Leertaste nutzen kann. Auf den muss man zurückgreifen, wenn man zum Beispiel Tabellen oder Spalten mit so genannten Schlüsselwörtern
benennt. Dazu gehört eigentlich alles, was im Sprachumfang von SQL enthalten ist.
SELECT
`date`
FROM
`table`;
Da ich aber diese Backticks überhaupt nicht mag, vermeide ich alle Bezeichnungen, die direkt in SQL enthalten ist. Das erfordert zwar manchmal ein wenig Kreativität, ist meiner Meinung nach aber sicherer.
3. Die Sache mit dem Semikolon
Normalerweise wird ein SQL-Statement immer mit einem Semikolon beendet. Es gibt aber ein paar Ausnahmen. Grundsätzlich gilt dabei, dass man es bei einer(!) Abfrage nicht benötigt. Das ist bei PHP immer der Fall, da man ja nur einen Query nach dem anderen absetzen kann. Dazu aber mehr bei den Tutorials.
Bei den graphischen Frontends wie PHPMyAdmin oder HeidiSQL kann man bei einem(!) SQL-Statement ebenfalls auf das Semikolon am Ende verzichten. Beim MySQL-Kommandozeilentool aber nicht. Ach, setzt es im Zweifelsfall einfach.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt