- 1 Section
- 10 Lessons
- unbegrenzt
- SQL Grundlagen10
- 1.1SQL-Grundstruktur: DDL, DML, DQL, DCL
- 1.2CREATE TABLE, Datentypen, Constraints
- 1.3INSERT, UPDATE, DELETE
- 1.4SELECT: WHERE, ORDER BY, LIMIT
- 1.5Aggregatfunktionen: COUNT, SUM, AVG
- 1.6GROUP BY und HAVING
- 1.7INNER JOIN und LEFT JOIN
- 1.8Datenbanktypen im Überblick
- 1.9MySQL / MariaDB in der Praxis
- 1.10SQL-Grundlagenaufgaben
SQL-Grundstruktur: DDL, DML, DQL, DCL
SQL – Structured Query Language – ist die Sprache, die seit 1974 fast jede relationale Datenbank spricht. Egal ob MySQL, PostgreSQL, Oracle oder SQL Server – die Befehle sind zu 90 % identisch. Wer SQL beherrscht, beherrscht damit das wichtigste Werkzeug der Datenverarbeitung der letzten 50 Jahre. Diese Lektion gibt dir die Landkarte: Welche Arten von SQL-Befehlen gibt es, und wofür ist welche zuständig?
Die Antwort ist die 4-Sprachen-Einteilung: DDL, DML, DQL, DCL. Diese Buchstabensuppe wirkt am Anfang abschreckend, ist aber eine sehr nützliche Ordnung. Sobald du sie kennst, findest du jeden SQL-Befehl sofort in eine der vier Schubladen ein – und weißt, was er ungefähr tut, ohne ihn vorher gesehen zu haben.
1) Die vier Befehlsfamilien
Stell dir SQL wie eine Werkzeugkiste mit vier Schubladen vor: eine für den Aufbau der Datenbank, eine für die Pflege der Daten, eine für das Abfragen, eine für die Rechte. Klick eine Karte, um zu sehen, welche Befehle darin liegen:
DDL
DML
DQL
DCL
2) Anatomie eines SQL-Statements
Jeder SQL-Befehl folgt einer ähnlichen Struktur: Schlüsselwörter, Tabellenbezüge, Bedingungen, Ausdrücke. Wer diese vier Teile erkennt, kann jedes Statement lesen – auch ein 200 Zeilen langes Monster aus einer Legacy-Anwendung:
Schlüsselwörter (blau)
Reservierte Wörter der Sprache: SELECT, FROM, WHERE, ORDER BY. Konventionell GROSS geschrieben (nicht zwingend, aber lesbarer).
Tabellennamen (gelb)
Die Tabelle, mit der gearbeitet wird: hier kunde. Tabellennamen sind in der Regel kleingeschrieben und im Singular (Konvention, siehe L06 K34).
Spaltennamen (grün)
Die Spalten, die gelesen oder gefiltert werden: name, stadt. Klein, ohne Anführungszeichen.
Werte/Ausdrücke (lila)
Konkrete Werte zum Vergleich: 'Köln'. Strings stehen in einfachen Anführungszeichen, Zahlen ohne. Doppelte Anführungszeichen sind in SQL etwas anderes!
3) Syntax-Regeln, die immer gelten
Bevor wir tiefer einsteigen, ein paar Spielregeln, die quer durch alle SQL-Dialekte gelten:
- Strichpunkt am Ende: Jedes Statement endet mit
;. Viele Tools führen es auch ohne aus, in Skripten ist es Pflicht – sonst hängen Befehle aneinander. - Strings in einfachen Anführungszeichen:
'Köln', nicht"Köln". Doppelte Anführungszeichen sind in Standard-SQL für Bezeichner (z. B. Spaltennamen mit Leerzeichen). - Keys nicht case-sensitive:
SELECT=select=Select. Konvention: Schlüsselwörter GROSS, Bezeichner klein. - Tabellen-/Spaltennamen ggf. case-sensitive: Hängt vom DBMS und der Konfiguration ab. PostgreSQL ist standardmäßig case-insensitive (wenn klein geschrieben), MySQL je nach Plattform unterschiedlich.
- Kommentare:
-- einzeiligoder/* mehrzeilig */. Wichtig bei langen Queries – wer in 6 Monaten die Query liest (oft du selbst), wird dankbar sein. - Whitespace ist egal: Du kannst Statements auf eine Zeile oder über zehn Zeilen verteilen. Gute Lesbarkeit zählt mehr als Zeilenanzahl.
4) Die wichtigsten Schlüsselwörter auf einen Blick
Nach Sublanguage gruppiert, in der Größe nach Häufigkeit – die größten siehst du im Alltag am meisten:
5) Selbst klassifizieren – der Einordner
Übung: Gib unten ein SQL-Statement ein, das System sagt dir, ob es DDL, DML, DQL oder DCL ist. Probier ein paar Varianten – ein Beispiel pro Familie reicht, um das Muster zu verstehen:
6) Was man im Alltag wirklich braucht
Ehrlich gesagt: Die meisten Entwicklerinnen und Entwickler nutzen täglich nur einen Bruchteil dieser Befehle. Die Verteilung in einer typischen Anwendung sieht etwa so aus:
| Befehlsfamilie | Wer nutzt das? | Wie oft? |
|---|---|---|
| SELECT | Jede Anwendung, jeder Bericht, jede API-Abfrage | Ständig – > 80 % aller Datenbank-Zugriffe |
| INSERT / UPDATE / DELETE | Anwendung beim Schreiben von Daten | Häufig – Bestellung anlegen, Profil ändern, Eintrag löschen |
| CREATE / ALTER / DROP | Entwickler beim Aufbau, DBA bei Migrationen | Selten – meist nur bei Software-Updates |
| GRANT / REVOKE | DBA bei Benutzerverwaltung | Punktuell – beim Onboarding oder Audits |
Das heißt nicht, dass DDL und DCL unwichtig sind. Im Gegenteil: Eine schlecht entworfene Tabelle quält dich Jahre, schlechte Rechtevergabe ist ein Sicherheitsrisiko. Aber im Tagesgeschäft tippst du SELECT häufiger als alles andere zusammen.
7) Standards und Dialekte – was hat ein DBMS damit zu tun?
SQL ist seit 1986 ein ISO-Standard (zuletzt SQL:2023). Die Realität: Jedes DBMS implementiert den Standard ähnlich, aber nicht identisch. Die häufigsten Unterschiede:
- Datentypen: MySQL kennt
TINYINT, PostgreSQL nicht. Oracle nutztNUMBERstattINT. Bei Texten gibt es VARCHAR, NVARCHAR, TEXT mit subtilen Unterschieden. - Auto-increment: MySQL:
AUTO_INCREMENT. PostgreSQL:SERIALoderGENERATED AS IDENTITY. SQL Server:IDENTITY(1,1). SQLite: nurINTEGER PRIMARY KEYist auto. - Strings begrenzen: Bei MySQL/PostgreSQL:
LIMIT 10. Bei SQL Server:TOP 10. Bei Oracle:FETCH FIRST 10 ROWS ONLY. - Strings verketten: Standard:
'a' || 'b'. MySQL:CONCAT('a','b')(Standardvariante geht nur mit Sondereinstellung).
Für die IHK-Prüfung wird meist „Standard-SQL" abgefragt – die gängigen Befehle, die überall funktionieren. Konkrete MySQL-Spezialitäten kommen in MySQL in der Praxis, eine breitere Übersicht aller Systeme in Datenbanktypen.
Zusammenfassung
SQL ist die Standardsprache relationaler Datenbanken und gliedert sich in vier Sublanguages: DDL (Data Definition Language: CREATE, ALTER, DROP – formt das Schema), DML (Data Manipulation: INSERT, UPDATE, DELETE – ändert Daten), DQL (Data Query: SELECT – liest Daten) und DCL (Data Control: GRANT, REVOKE – verteilt Rechte). Eine fünfte Familie TCL (COMMIT, ROLLBACK) gehört zu Transaktionen. Jedes Statement folgt einer ähnlichen Struktur aus Schlüsselwörtern, Tabellen, Spalten und Werten. Wichtige Syntax-Regeln: Statements enden mit Strichpunkt, Strings in einfachen Anführungszeichen, Schlüsselwörter case-insensitiv. SQL ist eine deklarative Sprache – du beschreibst das Was, nicht das Wie. Im Alltag ist SELECT der häufigste Befehl (> 80 % aller Datenbankzugriffe). SQL ist ein ISO-Standard, aber jedes DBMS hat eigene Dialekte (MySQL, PostgreSQL, Oracle, SQL Server unterscheiden sich in Details wie Datentypen, Auto-Increment, Limit).
Verwandte Lektionen: CREATE TABLE · INSERT, UPDATE, DELETE · SELECT: Grundabfragen · und mehrWeitere relevante LektionenWas ist eine Datenbank?JOINsDatenbanktypenMySQL PraxisTransaktionen (TCL)RBACSQL-InjectionDatenbankindizes
