Was ist SQL? Die Datenbanksprache einfach erklärt
SQL (Structured Query Language, gesprochen „S-Q-L“ oder „Sequel“) ist die Standardsprache für relationale Datenbanken – also jene, die Daten in Tabellen mit Zeilen und Spalten speichern, etwa Postgres, MySQL, SQLite und SQL Server. Du nutzt SQL, um Fragen an deine Daten zu stellen („Welche Kunden haben diesen Monat gebucht?“) und um Datensätze hinzuzufügen, zu ändern oder zu entfernen. Es gibt seit den 1970er-Jahren, ist ein internationaler Standard und betreibt einen großen Teil der Apps weltweit.
Warum SQL beim Bauen mit KI wichtig ist
Wenn du einen KI-App-Builder bittest, „Bestellungen zu speichern“ oder „eine Liste der anstehenden Buchungen zu zeigen“, muss etwas mit der Datenbank sprechen – und in den meisten Apps ist das SQL, entweder direkt geschrieben oder von einem ORM erzeugt.
Du musst SQL nicht selbst schreiben, aber ein bisschen Verständnis zahlt sich aus:
- Du kannst deine eigenen Daten prüfen. Eine kurze Abfrage beantwortet „Wie viele Neuregistrierungen hatten wir diese Woche?“ schneller, als eine neue Ansicht zu bauen.
- Du kannst bessere Berichte anfordern. „Umsatz nach Monat und Leistung gruppieren“ ist eine SQL-Idee. Wenn du sie kennst, wird deine Anfrage klarer.
- Du erkennst gefährliche Änderungen. Ein
DELETEoderUPDATEohneWHERE-Klausel betrifft jede Zeile. Das solltest du abfangen, bevor es ausgeführt wird. - Deine Daten sind nicht eingesperrt. SQL ist ein gemeinsamer Standard, daher können Daten in einer SQL-Datenbank von vielen Werkzeugen verschoben und gelesen werden.
Ein Alltagsvergleich
Stell dir eine sehr gut organisierte Bibliothek vor, mit einer Bibliothekarin, die nur eine präzise, einfache Sprache spricht.
Du suchst nicht selbst die Regale ab. Du gibst der Bibliothekarin eine Karte: „Finde alle Bücher dieser Autorin, nach 2010 erschienen, neueste zuerst.“ Die Bibliothekarin kennt das Gebäude in- und auswendig und bringt genau diese Bücher in dieser Reihenfolge.
SQL ist die Sprache auf dieser Karte. Du sagst, was du willst, nicht wie es zu finden ist – die Datenbank findet den schnellsten Weg selbst.
So funktioniert SQL: Tabellen, Zeilen und Spalten
Eine relationale Datenbank speichert Daten in Tabellen. Jede Tabelle enthält eine Art Sache, jede Zeile ist ein Datensatz und jede Spalte eine Information darüber:
customers (Kunden)
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lissabon |
| 2 | Sam Patel | sam@example.com | Leeds |
orders (Bestellungen)
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42,00 | 2026-09-20 |
| 102 | 2 | 18,50 | 2026-09-22 |
| 103 | 1 | 25,00 | 2026-09-27 |
Die Spalte customer_id verknüpft jede Bestellung mit einem Kunden. Diese Verknüpfung macht die Datenbank „relational“.
Ein Beispiel: echte Fragen beantworten
1. Daten lesen – „Zeig mir alle Kunden in Lissabon“:
SELECT name, email
FROM customers
WHERE city = 'Lissabon';
2. Sortieren und begrenzen – „die fünf neuesten Bestellungen“:
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Tabellen verbinden – „jede Bestellung mit dem Namen des Kunden“:
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Zusammenfassen – „Gesamtausgaben pro Kunde“:
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
Mit den Beispieldaten liefert das Lena Ortiz mit 67,00 und Sam Patel mit 18,50.
5. Daten ändern:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Porto');
UPDATE customers SET city = 'Porto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
Diese entsprechen den vier Grundaktionen fast jeder App – Anlegen, Lesen, Ändern und Löschen, bekannt als CRUD.
Eine Warnung: UPDATE customers SET city = 'Porto'; ohne WHERE-Klausel ändert jeden Kunden. Prüfe das WHERE immer, bevor du eine Änderung ausführst.
Die wichtigsten Teile von SQL
| Befehl | Was er tut |
|---|---|
SELECT | Daten lesen |
INSERT | Neue Zeilen hinzufügen |
UPDATE | Vorhandene Zeilen ändern |
DELETE | Zeilen entfernen |
CREATE TABLE / ALTER TABLE | Den Aufbau einer Tabelle anlegen oder ändern |
WHERE | Filtern, welche Zeilen betroffen sind |
JOIN | Verwandte Tabellen verbinden |
GROUP BY | Zeilen zu Gruppen zusammenfassen, mit COUNT, SUM, AVG |
ORDER BY / LIMIT | Ergebnisse sortieren und begrenzen |
SQL ist standardisiert, aber jede Datenbank bringt eigene Erweiterungen mit, einen sogenannten Dialekt. Postgres, MySQL und SQLite verstehen alle die obigen Beispiele, nur Details wie Datumsfunktionen unterscheiden sich leicht.
Wichtige Begriffe
| Begriff | Bedeutung |
|---|---|
| Abfrage (Query) | Eine SQL-Anweisung, besonders eine, die Daten liest. |
| Tabelle / Zeile / Spalte | Eine Art Sache / ein Datensatz / ein Merkmal. |
| Primärschlüssel | Die Spalte, die jede Zeile eindeutig kennzeichnet, meist id. |
| Fremdschlüssel | Eine Spalte, die auf eine Zeile in einer anderen Tabelle verweist, etwa customer_id. |
| Index | Eine Suchstruktur, die das Durchsuchen einer Spalte deutlich beschleunigt. |
| Schema | Der Aufbau aller Tabellen und Spalten. |
| Transaktion | Eine Gruppe von Änderungen, die gemeinsam gelingen oder scheitern. |
| SQL-Injection | Ein Angriff, bei dem Nutzereingaben in eine Abfrage eingeschleust werden. Verhindert durch parametrisierte Abfragen. |
Häufige Irrtümer
- „SQL ist eine Datenbank.“ SQL ist die Sprache; Postgres, MySQL und SQLite sind Datenbanken, die sie sprechen.
- „SQL ist alt, also veraltet.“ Es ist ausgereift, nicht überholt. Moderne Datenbanken und Datenwerkzeuge nutzen es weiterhin, und neuere ergänzen oft SQL-Unterstützung.
- „Nur Entwickler können SQL nutzen.“ Analysten, Marketingleute und Gründer nutzen einfache Abfragen jeden Tag.
- „SQL kann nicht mit flexiblen Daten umgehen.“ Viele SQL-Datenbanken speichern auch JSON. Postgres hat zum Beispiel den Typ
jsonb. Siehe SQL vs. NoSQL. - „Es ist unbedenklich, die KI beliebiges SQL auf der Produktivdatenbank ausführen zu lassen.“ Lesezugriffe sind risikoarm; Änderungen und Löschungen an Live-Daten brauchen ein Backup und einen zweiten Blick. Siehe wie du deine App-Datenbank sicherst.
Was du deinen KI-Builder fragen kannst
- „Zeig mir die Tabellen in meiner Datenbank und was jede Spalte bedeutet.“
- „Schreibe eine reine Leseabfrage: Wie viele neue Registrierungen gab es pro Tag in den letzten 30 Tagen?“
- „Zeig mir vor jedem UPDATE oder DELETE die Abfrage und wie viele Zeilen sie betreffen wird.“
- „Lege Indizes auf die Spalten, nach denen wir am häufigsten filtern und sortieren.“
- „Stelle sicher, dass jede Abfrage mit Nutzereingaben parametrisiert ist.“
- „Fasse die Aktualisierungen von Bestellungen und Zahlungen in eine Transaktion, damit sie nicht halb gelingen können.“
SQL in Mythex
Wenn deine App Daten speichern muss, fügt Mythex dem Projekt eine eigene Postgres-Datenbank hinzu – frag im Chat, etwa „Speichere Wartelisten-E-Mails in einer Datenbank“, oder nutze den Befehl /database (Datenbank). Der Agent legt die Tabellen an und schreibt die Abfragen, und im Ask-Modus kannst du ihn jede Abfrage in einfacher Sprache erklären lassen. Mehr zur Datenbank selbst liest du in was Postgres ist.
Fragen
Was ist SQL einfach erklärt?
SQL (Structured Query Language) ist die Standardsprache für relationale Datenbanken. Du nutzt sie, um deine Daten abzufragen, etwa „Welche Bestellungen wurden diese Woche aufgegeben?“, und um Datensätze hinzuzufügen, zu ändern oder zu löschen.
Wie spricht man SQL aus?
Sowohl „S-Q-L“ (die Buchstaben einzeln gesprochen) als auch „Sequel“ sind gebräuchlich und richtig. Die Sprache hieß ursprünglich SEQUEL, daher kommt die zweite Aussprache.
Ist SQL eine Programmiersprache?
SQL ist eine Abfragesprache zur Verwaltung von Daten. Du beschreibst, welches Ergebnis du willst, und die Datenbank findet selbst heraus, wie sie es erreicht. Ganze Apps baut man damit nicht allein, aber es ist Teil fast jeder App, die eine relationale Datenbank nutzt.
Ist SQL schwer zu lernen?
Die Grundlagen sind gut zu bewältigen: SELECT, WHERE, ORDER BY, INSERT, UPDATE und DELETE decken die meisten alltäglichen Aufgaben ab und lesen sich fast wie Englisch. Joins, Gruppierungen und Performance-Optimierung brauchen länger, bis man sie beherrscht.
Muss ich SQL kennen, um mit KI eine App zu bauen?
Nein. Ein KI-Builder schreibt das SQL oder den Datenbankcode für dich. Ein bisschen Wissen hilft dir aber, deine Daten zu prüfen, Berichte anzufordern und riskante Änderungen zu erkennen, bevor sie passieren.