SQL-Spickzettel
Die Kern-SQL-Anweisungen zum Abfragen und Ändern von Daten, nach Aufgabe gruppiert. Die genaue Syntax variiert leicht zwischen Datenbanken (PostgreSQL, MySQL, SQLite, SQL Server), aber die Grundlagen unten sind nahezu universell. Um eine unordentliche Abfrage aufzuräumen, nutze den SQL-Formatierer.
Aktualisiert 2026-07-06
Abfragen (SELECT)
| Anweisung | Was sie tut |
|---|---|
| SELECT * FROM t | Alle Spalten und Zeilen aus Tabelle t zurückgeben |
| SELECT a, b FROM t | Nur die Spalten a und b zurückgeben |
| SELECT DISTINCT a FROM t | Eindeutige Werte von a zurückgeben |
| ... WHERE a = 5 | Zeilen filtern, in denen a gleich 5 ist |
| ... ORDER BY a DESC | Nach a absteigend sortieren |
| ... LIMIT 10 | Höchstens 10 Zeilen zurückgeben |
| ... OFFSET 20 | Die ersten 20 Zeilen überspringen (Paging) |
| SELECT COUNT(*) FROM t | Zeilen zählen |
| SELECT SUM(a), AVG(a) FROM t | Aggregat: Summe und Durchschnitt von a |
| ... GROUP BY category | Zeilen gruppieren, um pro Kategorie zu aggregieren |
| ... HAVING COUNT(*) > 5 | Gruppen filtern (WHERE für Aggregate) |
Filtern (WHERE)
| Anweisung | Was sie tut |
|---|---|
| WHERE a IN (1, 2, 3) | Beliebigen Wert aus einer Liste treffen |
| WHERE a BETWEEN 1 AND 9 | Einen Bereich treffen (einschließlich) |
| WHERE name LIKE 'A%' | Mustertreffer: beginnt mit A (% = beliebige Zeichen) |
| WHERE name LIKE '_at' | _ trifft genau ein Zeichen |
| WHERE a IS NULL | Zeilen treffen, in denen a keinen Wert hat |
| WHERE a > 5 AND b < 10 | Bedingungen mit AND / OR verknüpfen |
Tabellen verbinden
| Anweisung | Was sie tut |
|---|---|
| INNER JOIN u ON t.id = u.tid | Zeilen mit einem Treffer in beiden Tabellen |
| LEFT JOIN u ON t.id = u.tid | Alle Zeilen der linken Tabelle, getroffen oder nicht |
| RIGHT JOIN u ON t.id = u.tid | Alle Zeilen der rechten Tabelle |
| FULL JOIN u ON t.id = u.tid | Alle Zeilen aus beiden Tabellen |
Daten ändern
| Anweisung | Was sie tut |
|---|---|
| INSERT INTO t (a, b) VALUES (1, 2) | Eine neue Zeile hinzufügen |
| UPDATE t SET a = 5 WHERE id = 1 | Vorhandene Zeilen ändern (WHERE beachten!) |
| DELETE FROM t WHERE id = 1 | Zeilen entfernen (WHERE beachten!) |
Schema (Tabellen & Indizes)
| Anweisung | Was sie tut |
|---|---|
| CREATE TABLE t (id INT, name TEXT) | Eine neue Tabelle erstellen |
| ALTER TABLE t ADD col TEXT | Eine Spalte hinzufügen |
| DROP TABLE t | Eine Tabelle und alle ihre Daten löschen |
| CREATE INDEX idx ON t (a) | Einen Index hinzufügen, um Abfragen auf a zu beschleunigen |
Eine bewahrenswerte Sicherheitsgewohnheit: Schreibe die WHERE-Klausel eines UPDATE oder DELETE zuerst. Eines ohne WHERE auszuführen ändert oder löscht jede Zeile der Tabelle.
Verwandte Tools