SQL-Referenz

Geschätzte Lektüre: 3 Minuten 160 Ansichten

Datenbanken

Befehl / MusterFunktion
CREATE DATABASE dbname;Neue Datenbank erstellen
DROP DATABASE dbname;Datenbank löschen
USE dbname;Datenbank auswählen

Tabellen

Befehl / MusterFunktion
CREATE TABLE t (...);Neue Tabelle anlegen
ALTER TABLE t ADD COLUMN ...;Spalte hinzufügen
ALTER TABLE t DROP COLUMN ...;Spalte löschen
ALTER TABLE t RENAME TO t2;Tabelle umbenennen
DROP TABLE IF EXISTS t;Tabelle löschen
TRUNCATE TABLE t;Alle Daten löschen, Struktur bleibt

Abfragen

Befehl / MusterFunktion
SELECT * FROM t;Alle Spalten und Zeilen der Tabelle t zurückgeben
SELECT a, b FROM t;Nur die ausgewählten Spalten a und b zurückgeben
SELECT a AS "Alias" FROM t;Spalte a unter dem Namen Alias ausgeben
SELECT DISTINCT a FROM t;Nur eindeutige Werte von a zurückgeben
SELECT a, COUNT(*) FROM t GROUP BY a;Zeilen nach a gruppieren und die Anzahl pro Gruppe zählen
WHERE bedingungFiltert Zeilen nach der Bedingung (für SELECT, UPDATE, DELETE)
ORDER BY spalteSortiert Ergebnisse nach spalte aufsteigend (Standard)
ORDER BY spalte ASCSortiert Ergebnisse nach spalte explizit aufsteigend
ORDER BY spalte DESCSortiert Ergebnisse nach spalte absteigend
LIMIT nGibt maximal n Zeilen zurück (ab Zeile 1)
LIMIT n OFFSET mGibt maximal n Zeilen ab Zeile m+1 zurück
HAVING bedingungFiltert Gruppen nach einer Aggregatbedingung (nach GROUP BY)
COUNT(*), SUM(a), AVG(a), MIN(a), MAX(a)Aggregatfunktionen für Zeilen oder Gruppen
CASE WHEN ... THEN ... ELSE ... ENDBedingte Logik innerhalb eines SELECT-Ausdrucks
LIKE 'Muster'Mustervergleich (% = beliebig viele Zeichen, _ = ein Zeichen)
IN (wert1, wert2, ...)Prüft, ob Spalte in einer Liste von Werten vorkommt
BETWEEN wert1 AND wert2Prüft, ob Spalte im angegebenen Bereich liegt (inklusive Grenzen)
IS NULLPrüft, ob eine Spalte NULL ist
IS NOT NULLPrüft, ob eine Spalte nicht NULL ist

Joins

Befehl / MusterFunktion
INNER JOIN t2 ON t1.id = t2.fkNur übereinstimmende Zeilen
LEFT JOIN t2 ON ...Alle linken Zeilen, NULL wenn keine Übereinstimmung
RIGHT JOIN t2 ON ...Alle rechten Zeilen, NULL wenn keine Übereinstimmung
FULL OUTER JOIN t2 ON ...Alle Zeilen aus beiden Tabellen
CROSS JOIN t2Kartesisches Produkt

Indizes & Schlüssel

Befehl / MusterFunktion
CREATE INDEX idx_name ON t(spalte);Index erstellen
DROP INDEX idx_name;Index löschen
PRIMARY KEY (spalte)Eindeutiger Schlüssel
FOREIGN KEY (spalte) REFERENCES t2(spalte)Fremdschlüssel
UNIQUE (spalte)Einzigartige Werte erzwingen
CHECK (bedingung)Bedingung für Spaltenwerte

Transaktionen

Befehl / MusterFunktion
BEGIN TRANSACTION;Transaktion starten
COMMIT;Änderungen speichern
ROLLBACK;Änderungen zurücksetzen

Views & Stored Procedures

Befehl / MusterFunktion
CREATE VIEW view_name AS SELECT ...;View erstellen
DROP VIEW view_name;View löschen
CREATE PROCEDURE proc_name (...) BEGIN ... END;Stored Procedure erstellen
CALL proc_name(...);Stored Procedure ausführen

Vereinigungen & Unterabfragen

Befehl / MusterFunktion
UNIONErgebnisse ohne Duplikate zusammenführen
UNION ALLErgebnisse mit Duplikaten zusammenführen
EXISTS (SELECT ...)Prüft Existenz einer Unterabfrage
(SELECT ... FROM ...) AS aliasUnterabfrage als virtuelle Tabelle
Dieses Dokument teilen

SQL-Referenz

Oder Link kopieren

INHALT

Abonnieren

×
Cancel