SQL Cheatsheet
Übersicht der wichtigsten SQL-Befehle: SELECT, INSERT, UPDATE, DELETE, CREATE TABLE und JOIN.
- Sie können die grundlegenden SQL-Befehle SELECT, INSERT, UPDATE und DELETE korrekt formulieren.Anwenden
- Sie können Tabellen mit CREATE TABLE erstellen und geeignete Datentypen wählen.Anwenden
- Sie können JOINs verwenden, um Daten aus mehreren Tabellen zu kombinieren.Anwenden
Dieses Cheatsheet gibt Ihnen eine kompakte Übersicht über die wichtigsten SQL-Befehle. Es dient als Nachschlagewerk für die tägliche Arbeit mit relationalen Datenbanken.
Note
Hinweis zur Syntax
In den folgenden Beispielen stehen Begriffe in spitzen Klammern <...> als Platzhalter. Ersetzen Sie diese durch Ihre eigenen Tabellen- und Spaltennamen. Optionale Teile sind mit eckigen Klammern [...] markiert.
CREATE TABLE – Tabelle erstellen
Mit CREATE TABLE definieren Sie eine neue Tabelle mit Spalten, Datentypen und Einschränkungen (Constraints).
CREATE TABLE <tabellenname> (
<spalte1> <datentyp> [PRIMARY KEY] [NOT NULL],
<spalte2> <datentyp> [DEFAULT <wert>],
<spalte3> <datentyp> [UNIQUE],
[FOREIGN KEY (<spalte>) REFERENCES <andere_tabelle>(<spalte>)]
);Beispiel
CREATE TABLE schueler (
id INTEGER PRIMARY KEY,
vorname VARCHAR(50) NOT NULL,
nachname VARCHAR(50) NOT NULL,
klasse VARCHAR(10) DEFAULT '1a',
email VARCHAR(100) UNIQUE
);Wichtige Datentypen
| Datentyp | Beschreibung | Beispiel |
|---|---|---|
INTEGER | Ganzzahl | 42 |
VARCHAR(n) | Text mit max. n Zeichen | 'Hallo' |
TEXT | Langer Text (unbegrenzt) | 'Langer Text...' |
DECIMAL(p,s) | Dezimalzahl (p Stellen, s Nachkomma) | 19.99 |
DATE | Datum | '2025-03-06' |
BOOLEAN | Wahrheitswert | TRUE / FALSE |
Wichtige Constraints
| Constraint | Bedeutung |
|---|---|
PRIMARY KEY | Eindeutiger Schlüssel der Tabelle |
NOT NULL | Wert darf nicht leer sein |
UNIQUE | Wert muss einzigartig sein |
DEFAULT <wert> | Standardwert falls nichts angegeben |
FOREIGN KEY | Verweis auf eine andere Tabelle |
SELECT – Daten abfragen
Mit SELECT lesen Sie Daten aus einer oder mehreren Tabellen.
SELECT <spalte1>, <spalte2>, ...
FROM <tabelle>
[WHERE <bedingung>]
[ORDER BY <spalte> [ASC | DESC]]
[LIMIT <anzahl>];Beispiele
-- Alle Spalten aller Schueler
SELECT *
FROM schueler;
-- Nur bestimmte Spalten
SELECT vorname, nachname
FROM schueler;
-- Mit Bedingung
SELECT vorname, nachname
FROM schueler
WHERE klasse = '2b';
-- Sortiert (aufsteigend)
SELECT vorname, nachname
FROM schueler
ORDER BY nachname ASC;
-- Sortiert (absteigend), nur 5 Ergebnisse
SELECT vorname, nachname
FROM schueler
ORDER BY nachname DESC
LIMIT 5;Nützliche WHERE-Operatoren
| Operator | Bedeutung | Beispiel |
|---|---|---|
= | Gleich | WHERE klasse = '2b' |
!= oder <> | Ungleich | WHERE klasse != '2b' |
<, >, <=, >= | Vergleich | WHERE alter >= 16 |
BETWEEN | Zwischen zwei Werten | WHERE alter BETWEEN 14 AND 18 |
LIKE | Muster-Suche (% = beliebig viele Zeichen) | WHERE name LIKE 'M%' |
IN | Wert in einer Liste | WHERE klasse IN ('1a', '1b') |
IS NULL | Wert ist leer | WHERE email IS NULL |
AND / OR | Bedingungen verknüpfen | WHERE klasse = '2b' AND alter > 15 |
SELECT mit JOIN – Tabellen verknüpfen
Mit JOIN kombinieren Sie Daten aus mehreren Tabellen über gemeinsame Schlüssel.
SELECT <tabelle1>.<spalte>, <tabelle2>.<spalte>
FROM <tabelle1>
JOIN <tabelle2> ON <tabelle1>.<fk_spalte> = <tabelle2>.<pk_spalte>
[WHERE <bedingung>]
[ORDER BY <spalte> [ASC | DESC]];Beispiel
-- Schueler mit ihrer Klassen-Info
SELECT schueler.vorname, schueler.nachname, klassen.raum
FROM schueler
JOIN klassen ON schueler.klasse_id = klassen.id
WHERE klassen.stufe = 2
ORDER BY schueler.nachname ASC;JOIN-Typen
| Typ | Beschreibung |
|---|---|
JOIN (= INNER JOIN) | Nur Zeilen, die in beiden Tabellen vorkommen |
LEFT JOIN | Alle Zeilen der linken Tabelle + passende der rechten |
RIGHT JOIN | Alle Zeilen der rechten Tabelle + passende der linken |
FULL JOIN | Alle Zeilen aus beiden Tabellen |
INSERT INTO – Daten einfügen
Mit INSERT INTO fügen Sie neue Zeilen in eine Tabelle ein.
INSERT INTO <tabelle> (<spalte1>, <spalte2>, ...)
VALUES (<wert1>, <wert2>, ...);Beispiele
-- Einen Schueler einfuegen
INSERT INTO schueler (vorname, nachname, klasse, email)
VALUES ('Max', 'Muster', '2b', 'max@schule.ch');
-- Mehrere Schueler auf einmal
INSERT INTO schueler (vorname, nachname, klasse)
VALUES
('Anna', 'Beispiel', '1a'),
('Tom', 'Test', '1a'),
('Lisa', 'Demo', '2b');UPDATE – Daten ändern
Mit UPDATE ändern Sie bestehende Daten in einer Tabelle.
UPDATE <tabelle>
SET <spalte1> = <neuer_wert1>,
<spalte2> = <neuer_wert2>
WHERE <bedingung>;Warning
Achtung: Ohne WHERE werden alle Zeilen der Tabelle geändert! Verwenden Sie immer eine Bedingung.
Beispiele
-- Eine Spalte aendern
UPDATE schueler
SET klasse = '3a'
WHERE id = 1;
-- Mehrere Spalten aendern
UPDATE schueler
SET klasse = '3a',
email = 'max.neu@schule.ch'
WHERE vorname = 'Max' AND nachname = 'Muster';DELETE – Daten löschen
Mit DELETE entfernen Sie Zeilen aus einer Tabelle.
DELETE FROM <tabelle>
WHERE <bedingung>;Warning
Achtung: Ohne WHERE werden alle Zeilen gelöscht! Prüfen Sie die Bedingung immer vorher mit einem SELECT.
Beispiele
-- Einen Schueler loeschen
DELETE FROM schueler
WHERE id = 42;
-- Alle Schueler einer Klasse loeschen
DELETE FROM schueler
WHERE klasse = '4c';Reflection
Tipp: Sicheres Vorgehen
Bevor Sie ein UPDATE oder DELETE ausführen, testen Sie die WHERE-Bedingung immer zuerst mit einem SELECT:
- Schreiben Sie zuerst:
SELECT * FROM schueler WHERE klasse = '4c'; - Prüfen Sie, ob die richtigen Zeilen angezeigt werden.
- Ersetzen Sie dann
SELECT *durchDELETEbzw. schreiben Sie dasUPDATE.
Kurzübersicht
| Befehl | Syntax | Zweck |
|---|---|---|
CREATE TABLE | CREATE TABLE t (spalte typ, ...) | Tabelle erstellen |
SELECT | SELECT spalten FROM t WHERE ... | Daten lesen |
JOIN | ... JOIN t2 ON t1.fk = t2.pk | Tabellen verknüpfen |
INSERT | INSERT INTO t (spalten) VALUES (...) | Daten einfügen |
UPDATE | UPDATE t SET spalte = wert WHERE ... | Daten ändern |
DELETE | DELETE FROM t WHERE ... | Daten löschen |