>_FoxiRef
SQL

SQL Spickzettel

Häufig verwendete SQL Befehle

#SELECT-Abfragen

BefehlBeschreibung
SELECT * FROM tableAlle Spalten auswählen
SELECT col1, col2 FROM tableBestimmte Spalten auswählen
SELECT DISTINCT col FROM tableEindeutige Werte auswählen
SELECT col AS alias FROM tableSpaltenalias
SELECT * FROM table LIMIT 10Ergebnisse begrenzen
SELECT * FROM table OFFSET 5Ergebnisse überspringen

#WHERE-Bedingungen

BefehlBeschreibung
WHERE col = valueGleich
WHERE col <> valueUngleich
WHERE col > valueGrößer als
WHERE col >= valueGrößer oder gleich
WHERE col < valueKleiner als
WHERE col <= valueKleiner oder gleich
WHERE col BETWEEN a AND bIm Bereich
WHERE col IN (v1, v2, v3)In Liste
WHERE col LIKE '%pattern%'Musterabgleich
WHERE col IS NULLNULL-Prüfung
WHERE col IS NOT NULLNOT NULL-Prüfung
WHERE cond1 AND cond2AND-Bedingung
WHERE cond1 OR cond2OR-Bedingung
WHERE NOT conditionNOT-Bedingung

#ORDER BY

BefehlBeschreibung
ORDER BY colAufsteigende Reihenfolge
ORDER BY col ASCAufsteigend (explizit)
ORDER BY col DESCAbsteigende Reihenfolge
ORDER BY col1, col2Mehrere Spalten
ORDER BY col NULLS FIRSTNULLs zuerst
ORDER BY col NULLS LASTNULLs zuletzt

#Aggregatfunktionen

BefehlBeschreibung
COUNT(*)Zeilen zählen
COUNT(col)Nicht-NULL zählen
COUNT(DISTINCT col)Eindeutige zählen
SUM(col)Summe
AVG(col)Durchschnitt
MIN(col)Minimum
MAX(col)Maximum
GROUP BY colGruppieren nach
HAVING conditionGruppenfilter

#JOINs

BefehlBeschreibung
INNER JOIN t2 ON t1.col = t2.colInner Join
LEFT JOIN t2 ON t1.col = t2.colLeft Outer Join
RIGHT JOIN t2 ON t1.col = t2.colRight Outer Join
FULL OUTER JOIN t2 ON ...Full Outer Join
CROSS JOIN t2Kreuzprodukt
SELF JOIN (t AS a, t AS b)Self Join
NATURAL JOIN t2Natural Join

#INSERT

BefehlBeschreibung
INSERT INTO t (cols) VALUES (vals)Einzelne Zeile einfügen
INSERT INTO t VALUES (v1), (v2)Mehrere Zeilen einfügen
INSERT INTO t SELECT ...Aus SELECT einfügen
INSERT INTO t DEFAULT VALUESStandardwerte einfügen

#UPDATE

BefehlBeschreibung
UPDATE t SET col = valAlle Zeilen aktualisieren
UPDATE t SET col = val WHERE ...Bedingte Aktualisierung
UPDATE t SET c1 = v1, c2 = v2Mehrere Spalten aktualisieren
UPDATE t SET col = col + 1Wert erhöhen

#DELETE

BefehlBeschreibung
DELETE FROM tAlle Zeilen löschen
DELETE FROM t WHERE ...Bedingte Löschung
TRUNCATE TABLE tTabelle leeren (schnell)

#Tabellenverwaltung

BefehlBeschreibung
CREATE TABLE t (col type, ...)Tabelle erstellen
DROP TABLE tTabelle löschen
ALTER TABLE t ADD col typeSpalte hinzufügen
ALTER TABLE t DROP COLUMN colSpalte löschen
ALTER TABLE t RENAME TO newTabelle umbenennen
CREATE INDEX idx ON t(col)Index erstellen
DROP INDEX idxIndex löschen

#Einschränkungen

BefehlBeschreibung
PRIMARY KEYPrimärschlüssel
FOREIGN KEY REFERENCES t(col)Fremdschlüssel
UNIQUEEindeutigkeitsbedingung
NOT NULLNicht NULL
DEFAULT valueStandardwert
CHECK (condition)Check-Bedingung
AUTO_INCREMENT / SERIALAutomatisch erhöhen

#Unterabfragen

BefehlBeschreibung
WHERE col IN (SELECT ...)IN-Unterabfrage
WHERE col = (SELECT ...)Skalare Unterabfrage
WHERE EXISTS (SELECT ...)EXISTS-Unterabfrage
SELECT (SELECT ...) AS colSELECT-Unterabfrage
FROM (SELECT ...) AS tFROM-Unterabfrage
WITH cte AS (SELECT ...)Gemeinsamer Tabellenausdruck

#String-/Datumsfunktionen

BefehlBeschreibung
CONCAT(s1, s2)Strings verketten
UPPER(str) / LOWER(str)Groß-/Kleinschreibung
LENGTH(str)Stringlänge
SUBSTRING(str, start, len)Teilstring
TRIM(str)Leerzeichen entfernen
REPLACE(str, from, to)String ersetzen
NOW() / CURRENT_TIMESTAMPAktueller Zeitstempel
DATE(datetime)Datum extrahieren
YEAR(date) / MONTH(date)Jahr/Monat extrahieren
DATEDIFF(d1, d2)Datumsdifferenz

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

SQL Spickzettel - Befehlsreferenz | Foxi Dev Reference