# 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.