EMZETT.
Login

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

Kapitel 1 von 15 im Kurs SQL. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

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.

idnameort
1MiaBerlin
2TomHamburg

Wichtige Datenbanksysteme

SystemTypisch für
SQLiteeingebettet, eine Datei, Apps, Handys, Tests
PostgreSQLAllrounder, sehr standardnah, viele Funktionen
MySQL / MariaDBWebanwendungen
SQL ServerMicrosoft-Umgebungen
OracleKonzerne

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

BereichBefehleZweck
DDL (Definition)CREATE, ALTER, DROPStruktur festlegen
DML (Manipulation)INSERT, UPDATE, DELETEDaten ändern
DQL (Abfrage)SELECTDaten lesen
TCL (Transaktionen)BEGIN, COMMIT, ROLLBACKÄnderungen bündeln
DCL (Rechte)GRANT, REVOKEZugriff steuern

Dein erstes SQL

SELECT 'Hallo SQL' AS gruss, 6 * 7 AS antwort;

Ausgabe:

gruss      antwort
---------  -------
Hallo SQL  42

SQL 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
------
1

Der 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     150

Merke

  • 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

Weiter im Kurs

Weiter: Tabellen und Datentypen

Alle Kapitel: SQL im Überblick