Bibliothek

Fach wählen

Themen

SQL-Grundlagen

Was ist SQL?

Die Structured Query Language (SQL) ist die Standardsprache für relationale Datenbanken. Sie unterscheidet drei Bereiche: DDL (Data Definition Language – CREATE, ALTER, DROP) zur Schemadefinition, DML (Data Manipulation Language – SELECT, INSERT, UPDATE, DELETE) zur Datenänderung und DCL (Data Control Language – GRANT, REVOKE) für Rechte. Im Abitur steht die DML im Mittelpunkt.

Beispieltabelle
CREATE TABLE schüler (
    sid       INTEGER PRIMARY KEY,
    name      VARCHAR(50) NOT NULL,
    klasse    VARCHAR(5),
    note      DECIMAL(2,1)
);

Beispieldaten:

sid | name   | klasse | note
----+--------+--------+-----
 1  | Anna   | 12a    | 1.7
 2  | Ben    | 11b    | 2.3
 3  | Carla  | 12a    | 1.0
 4  | Dario  | 11b    | 3.7
SELECT – Daten abfragen

Der SELECT-Befehl ist das wichtigste Werkzeug von SQL. Allgemeiner Aufbau:

SELECT <Spalten>
FROM   <Tabelle>
WHERE  <Bedingung>
ORDER BY <Spalte> [ASC|DESC];

Beispiele:

SELECT name, note
FROM   schüler
WHERE  klasse = '12a';

SELECT *
FROM   schüler
WHERE  note < 2.0
ORDER BY note ASC;

Mit DISTINCT entfernt man Duplikate, mit LIKE 'A%' kann man Mustern suchen, mit IN ('12a','12b') mehrere Werte zulassen.

INSERT – Daten einfügen
INSERT INTO schüler (sid, name, klasse, note)
VALUES (5, 'Eva', '12a', 2.0);

Mit mehreren VALUES-Blöcken können mehrere Datensätze in einem Befehl eingefügt werden. Wird die Spaltenliste weggelassen, müssen alle Werte in der Reihenfolge des Schemas angegeben werden.

UPDATE – Daten ändern
UPDATE schüler
SET    note = note - 0.3
WHERE  klasse = '11b';

Vorsicht: ohne WHERE wird die Spalte in allen Datensätzen geändert. Das ist eine der häufigsten Pannen in der Datenbankadministration.

DELETE – Daten löschen
DELETE FROM schüler
WHERE  note > 5.0;

Auch hier löscht eine fehlende WHERE-Klausel die gesamte Tabelle. Soll die Tabelle selbst entfernt werden, verwendet man DROP TABLE schüler;.

Häufige Fehler

Vergessenes Semikolon, einfache Anführungszeichen für Strings vergessen, Spaltennamen wie note gegen "note" verwechseln, fehlendes WHERE bei UPDATE/DELETE, NULL-Vergleich mit = statt IS NULL.

Zusammenfassung: SQL erlaubt das deklarative Abfragen und Ändern relationaler Daten. Die Kernbefehle SELECT, INSERT, UPDATE und DELETE reichen für die meisten Aufgaben.

Abitur-Tipp: Schreibe SQL-Schlüsselwörter immer GROSS und Tabellen-/Spaltennamen klein – das verbessert die Lesbarkeit und gibt in Prüfungen oft Punkte für „saubere Form“.