Kurz: SQL (Structured Query Language, gesprochen “S-Q-L” oder “Sequel”) ist die Standardsprache für relationale Datenbanken. Du beschreibst, welche Daten du willst, nicht wie sie gefunden werden; das entscheidet die Datenbank.
Teil des Kurses SQL
Was ist SQL?
SQL (Structured Query Language, gesprochen “S-Q-L” oder “Sequel”) ist die Standardsprache für relationale Datenbanken. Du beschreibst, welche Daten du willst, nicht wie sie gefunden werden; das entscheidet die Datenbank.
Eine relationale Datenbank speichert Daten in Tabellen: Spalten sind die Eigenschaften, Zeilen die einzelnen Datensätze.
| id | name | ort |
|---|---|---|
| 1 | Mia | Berlin |
| 2 | Tom | Hamburg |
Wichtige Datenbanksysteme
| System | Typisch für |
|---|---|
| SQLite | eingebettet, eine Datei, Apps, Handys, Tests |
| PostgreSQL | Allrounder, sehr standardnah, viele Funktionen |
| MySQL / MariaDB | Webanwendungen |
| SQL Server | Microsoft-Umgebungen |
| Oracle | Konzerne |
Der Kern von SQL ist überall gleich; Details (Datentypen, Funktionen, LIMIT vs TOP) unterscheiden sich. Dieser Kurs nutzt SQLite und weist auf Unterschiede hin.
Die Sprachbereiche
| Bereich | Befehle | Zweck |
|---|---|---|
| DDL (Definition) | CREATE, ALTER, DROP | Struktur festlegen |
| DML (Manipulation) | INSERT, UPDATE, DELETE | Daten ändern |
| DQL (Abfrage) | SELECT | Daten lesen |
| TCL (Transaktionen) | BEGIN, COMMIT, ROLLBACK | Änderungen bündeln |
| DCL (Rechte) | GRANT, REVOKE | Zugriff steuern |
Dein erstes SQL
SELECT 'Hallo SQL' AS gruss, 6 * 7 AS antwort;Ausgabe:
gruss antwort
--------- -------
Hallo SQL 42SQL ist nicht case-sensitiv bei Schlüsselwörtern, aber man schreibt sie meist GROSS. Anweisungen enden mit einem Semikolon. Kommentare: -- bis Zeilenende oder /* mehrzeilig */.
-- Das ist ein Kommentar
SELECT 1 + 1 AS summe; /* noch einer */
SELECT sqlite_version() IS NOT NULL AS laeuft;Ausgabe:
summe
-----
2
laeuft
------
1Der Kurs im Überblick
Alle Beispiele nutzen dieselbe kleine Beispieldatenbank mit Kunden und Bestellungen. Jedes Beispiel ist in sich geschlossen: Du kannst den Code kopieren und in einer leeren SQLite-Datenbank ausführen.
CREATE TABLE kunden (id INTEGER PRIMARY KEY, name TEXT NOT NULL, ort TEXT, punkte INTEGER);
CREATE TABLE bestellungen (id INTEGER PRIMARY KEY, kunde_id INTEGER, produkt TEXT, preis REAL, menge INTEGER, datum TEXT);
INSERT INTO kunden VALUES (1,'Mia','Berlin',120),(2,'Tom','Hamburg',80),(3,'Zoe','Berlin',200),(4,'Ben','München',NULL),(5,'Eva','Köln',150);
INSERT INTO bestellungen VALUES
(1,1,'Laptop',999.00,1,'2025-01-10'),(2,1,'Maus',25.50,2,'2025-01-12'),(3,2,'Monitor',189.90,1,'2025-02-01'),
(4,3,'Tastatur',49.00,1,'2025-02-15'),(5,3,'Maus',25.50,1,'2025-03-03'),(6,3,'Laptop',999.00,1,'2025-03-20'),
(7,NULL,'Kabel',5.00,3,'2025-03-21');
SELECT * FROM kunden;Ausgabe:
id name ort punkte
-- ---- ------- ------
1 Mia Berlin 120
2 Tom Hamburg 80
3 Zoe Berlin 200
4 Ben München
5 Eva Köln 150Merke
- SQL beschreibt was du willst; die Datenbank findet den Weg
- Daten liegen in Tabellen aus Spalten und Zeilen
- Befehle gliedern sich in DDL, DML, DQL, TCL, DCL
- Schlüsselwörter sind nicht case-sensitiv, Anweisungen enden mit
; - Der Kern ist in allen Systemen gleich, Details unterscheiden sich
Übungsaufgabe
Gib mit einem SELECT die Zahl 2025 und den Text Jahr als zwei benannte Spalten aus.
Quiz zur Selbstkontrolle
Wofür steht SQL?
- Structured Query Language (richtig)
- Simple Question Logic
- Standard Quick Library
- Server Query Layer
Was ist eine Zeile einer Tabelle?
- Ein einzelner Datensatz (richtig)
- Eine Eigenschaft
- Eine Datenbank
- Ein Befehl
Welches Schlüsselwort liest Daten?
- SELECT (richtig)
- GET
- READ
- FETCH TABLE
Weiter im Kurs
Weiter: Tabellen und Datentypen
Alle Kapitel: SQL im Überblick