Sag's mit Struktur

Teil 8: Workshop: Datenbanken mit SQL abfragen

Um nach bestimmten Datensätzen in einer Tabelle zu suchen, ist es mühsam, jedes Mal den neuen Suchbegriff in die SQL Anweisung einzutippen. Viel effektiver geht das über ein Dialogfenster, das Sie mit Hilfe einer Parameterabfrage erzeugen. Dazu dient der SQL-Befehl WHERE, verbunden mit dem Schlüsselwort LIKE. Wenn Sie dann noch in eckigen Klammern die Eingabeaufforderung eingeben, haben Sie schon alle Hilfsmittel zur Parameterabfrage in der Hand. Sie müssen lediglich darauf achten, bei der Definition der Eingabeaufforderung keine Feldnamen aus der SQLAbfrage zu verwenden.

Workshop: Datenbanken mit SQL abfragen

© Archiv

Die folgende SQL-Anweisung selektiert alle dem Suchbegriff entsprechenden Datensätze. Das kaufmännische Pluszeichen mit dem Sternchen sorgt dafür, dass Sie auch teilqualifiziert und unqualifiziert (keine Eingabe in das Feld) zu Treffern gelangen.

SELECT DISTINCT CD.CD_Titel, 
CD.Interpret, CD.Spielzeit, 
Titel.Titel 
FROM CD LEFT JOIN Titel ON 
CD.CD_NUMMER = Titel.CD_NUMMER 
WHERE (((CD.CD_Titel) LIKE [Bitte 
Titel eingeben] & "*"))

Ein weiterer Bereich von SQL ist DML (Data Manipulation Language). Mit den Befehlen dieser Sprache ändern Sie Datensätze, fügen neue Datensätze an eine Tabelle an und löschen Datensätze.

Es passiert sehr schnell, dass eine neue CD in die CD-Sammlung aufgenommen wird, aber die Spiellänge der einzelnen Lieder nicht eingegeben wird. Die Spiellänge steht dann nicht auf 0, sondern auf "nichts". Das ist noch weniger als 0. Und diese beiden Werte werden in Datenbanken gewaltig unterschieden. Aufgrund solcher nicht existierenden Einträge bringen Sie Abfragen jeder Art ganz schnell zum Absturz.

Deshalb fragt die nächste SQL-Anweisung alle Spielzeiten nach leeren Einträgen ab. Alle leeren Einträge werden auf den Wert 0 aktualisiert. Dadurch haben Sie zwar immer noch nicht die korrekte Spielzeit der CD, aber programmtechnisch sind Ihre Auswertungen absturzsicher.

UPDATE Titel SET Titel.Spielzeit = 0 
WHERE (((Titel.Spielzeit) Is Null)) 
Die Befehle dieser Syntax: 
UPDATE aktualisiert Werte 
SET Setzen des neuen Wertes 
WHERE Bedingungsklausel

Mit dem SQL-Befehl INSERT TO fügen Sie neue Datensätze an bereits bestehende Datensätze an. Um beispielsweise den Inhalt einer neuen Tabelle Neue CD Liste an die vorhandene Tabelle CD anzuhängen, lautet die Befehlsfolge:

INSERT INTO CD ( CD_NUMMER, 
CD_Titel, Interpret, Spielzeit, 
Bemerkung ) 
SELECT [NeueCD Liste].CD_NUMMER, 
[NeueCD Liste].CD_Titel, 
[NeueCD Liste].Interpret, 
[NeueCD Liste].Spielzeit, 
[NeueCD Liste].Bemerkung 
FROM [NeueCD Liste]

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…