Hauptmenü

Untermenü

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