MySQL sauber schreiben

MySQL Schlüsselwörter in Großbuchstaben

Alle Schlüsselwörter in MySQL sollten komplett groß geschrieben werden wie "SELECT, FROM, WHERE, ALTER, UPDATE, INSERT".

Dadurch ist auf einen Blick ersichtlich, was Inhalt wie Spaltennamen, Tabellennamen und Bedingungen ist und was MySQL-Schlüsselwörter.

Fehlervermeidung bzw. Suchhilfe bei MySQL-Fehlern

Klar, man kann alles in eine Zeile schreiben, aber spätestens wenn der erste Fehler kommt, sucht man, wo das Problem in der einen Zeile sitzt. Sinnvoll ist es daher, mit Umbrüchen und Einrückungen zu arbeiten (was man auch bei PHP und HTML macht).

Als Beispiel eine einfach Anweisung mit INSERT

mySQL-Anweisung
INSERT INTO termine
    (
        datum,
        uhrzeit,
        beschriebung
    )
VALUES
    (
        '2013-12-24',
        '15:23:00',
        'Weihnachtgeschenke kaufen'
    );

Vorteil ist, dass man bei einem Fehler die fehlerhafte Zeile als Nummer erhält. Weiterhin kann man einfach abschätzen, ob es soviele Werte wie Spalten gibt.

Jedem MySQL-Query sein Semikolon

Zur Fehlervermeidung immer das jeweilige MySQL-Kommando mit einem Semikolon (;) beenden. Es können so mehrere MySQL-Kommandos hintereinander gesendet werden und die Datenbank weiss dann, wo der erste aufhört und der folgende anfängt.

Teilweise sieht man die MySQL-Befehle ohne Semikolon zum Abschluss. Das funktioniert zwar in der Regel, da nur 1 Befehl gesendet wird. Aber sobald mal 2 verknüpft werden, kommen Probleme. Und nachdem man es von PHP schon gewohnt ist, einfach in MySQL genauso machen.

DON'Ts: SELECT *

Schön einfach ist es natürlich, einfach alle Spalten zu selektieren, selbst wenn man nicht alle benötigt. Um die Anwendung schnell zu machen, sollten Sie bestenfalls zum Testen mit "SELECT *" operieren - für die spätere Anwendung immer die benötigten Spalten aufführen. Das gibt schnelle und performante Anwendungen.

PHP und MySQL-Querys

Erstellen Sie für Ihre MySQL-Query eine Variable. Hier kann dann sauber das MySQL-Kommando ausgebaut werden und Sie haben Chancen auf eine hilfreiche Fehlermeldung, falls sich doch mal ein Fehler einschleicht.

PHP-Quellcode:
<?php
$sql = "INSERT INTO termine
    (
        datum,
        uhrzeit,
        beschriebung
    )
VALUES
    (
        '2013-12-24',
        '15:23:00',
        'Weihnachtgeschenke kaufen'
    );
";
 
$result = mysqli_query($db_link, $sql) 
           OR die("'".$sql."':".mysqli_error());
?>

Zusätzlich bekommt man dann in der Fehlermeldung die ursprüngliche MySQL-Query angezeigt.