7.3 SQL - Beispiele

Um die Datenbankabfrage mit PHP durchführen zu können, muss die Tabellenstruktur bekannt sein! Moderne Datenbanken arbeiten mit dem UTF-8 Zeichensatz, der eine umständliche Maskierung oder Codierung von Umlauten überflüssig macht.

Für eine erste Übung wird eine Datenbank "example" mit einer Datenbanktabelle "php" angelegt.

id name matnr semester course
1 Sonja Musterfrau 5001111 10 Medientechnik
2 Sascha Student 5009999 12 Medientechnik

Erste Abfrage

Wir wollen folgende Abfragen auf unseren Beispieldatensatz anwenden:

SELECT name, matnr FROM php

Ausgabe:
Sonja Musterfrau 5001111
Sascha Student 5009999

Verwendung von *

SELECT * FROM php WHERE matnr = '5009999'

Ausgabe:
Sascha Student 5009999 12 Medientechnik

Ausgabe sortieren

SELECT * FROM php WHERE course = 'Medientechnik' ORDER BY name

Ausgabe:
Sascha Student 5009999 12 Medientechnik
Sonja Musterfrau 5001111 10 Medientechnik

Abfragebereich einschränken

SELECT * FROM php WHERE matnr BETWEEN '5000000' AND '5005000'

Ausgabe:
Sonja Musterfrau 5001111 10 Medientechnik

Update durchführen

Bei Sascha Student soll das Semester auf "13" geändert werden und anschließend nachgesehen werden, ob dies geklappt hat.

UPDATE `php` SET `semester` = '13' WHERE `php`.`matnr` = '5009999';
SELECT * FROM php WHERE matnr = '5009999'

Ausgabe:
Sascha Student 5009999 13 Medientechnik

Es gehört sehr viel Disziplin dazu, die Datenbank konsistent zu halten. Bei einem Webformular sollten freie Felder so selten wie möglich verwendet werden, so sind „Medientechnik“, „medientechnik“ und „Medien-Technik“ drei verschiedene Wörter und eine Abfrage nach „Medientechnik“ findet die alternativen Begriffe nicht.

Man sollte sich immer zunächst eine Datenbank mit realistischem Inhalt anlegen und dann die gewünschten SQL-Abfragen in einem SQL-Tool ausprobieren. So ein Tool werden wir für MySQL nun im nächsten Unterkapitel behandeln.