Wenn eine App Daten aus einer Datenbank braucht, fragt sie nicht höflich in Alltagssprache. Sie nutzt eine Abfragesprache. SQL ist dafür der Klassiker: Mit SQL kannst du Daten suchen, einfügen, ändern, löschen und Tabellen beschreiben. Nach dieser Erklärung kannst du einfache SQL-Anweisungen lesen und typische Fehler vermeiden.
- Ich kann erklären, wofür SQL in relationalen Datenbanken genutzt wird.
- Ich kann den Aufbau einer einfachen SELECT-Abfrage beschreiben.
- Ich kann WHERE, ORDER BY und einfache Bedingungen anwenden.
- Ich kann INSERT, UPDATE und DELETE als Änderungsbefehle unterscheiden.
- Ich kann erklären, warum Schlüssel, Datentypen und Bedingungen wichtig sind.
Was SQL leistet
Eine relationale Datenbank speichert Daten in Tabellen. SQL ist die Sprache, mit der du diese Tabellen befragst und veränderst. Viele Befehle lesen sich fast wie kurze englische Sätze, aber die Reihenfolge und die genaue Schreibweise sind wichtig.
SQL
SQL steht für Structured Query Language. Es ist eine Sprache für relationale Datenbanken, mit der du Daten abfragen, einfügen, ändern, löschen und Tabellenstrukturen definieren kannst.
Relationale Datenbank
Eine relationale Datenbank speichert Daten in Tabellen. Zeilen sind Datensätze, Spalten sind Eigenschaften, und Tabellen können über Schlüssel miteinander verbunden werden.
SQL ist keine Programmiersprache wie Python mit Schleifen als Hauptidee. SQL beschreibt eher, welches Ergebnis du aus Daten haben möchtest. Die Datenbank entscheidet dann, wie sie dieses Ergebnis effizient berechnet.
Tabelle Schueler
| id | name | klasse | punkte |
|---|---|---|---|
| 1 | Mia | 8a | 17 |
| 2 | Ben | 8b | 12 |
| 3 | Sara | 8a | 19 |
Frage: "Welche Namen stehen in Klasse 8a?"
SQL:
SELECT name FROM Schueler WHERE klasse = '8a';
Ergebnis:
| name |
|---|
| Mia |
| Sara |
SQL sagt der Datenbank, welche Daten du möchtest. Die Datenbank sucht den passenden Weg durch Tabellen, Schlüssel und Indizes.
Interaktive Quizfrage wird geladen ...
SELECT: Daten gezielt lesen
Der wichtigste Startpunkt ist SELECT. Damit wählst du Spalten aus einer Tabelle aus. Mit WHERE filterst du Zeilen, und mit ORDER BY sortierst du das Ergebnis.
SELECT
SELECT ist ein SQL-Befehl zum Abfragen von Daten. Er legt fest, welche Spalten im Ergebnis erscheinen sollen.
WHERE
WHERE ist eine Bedingung in einer SQL-Abfrage. Nur Zeilen, für die die Bedingung wahr ist, kommen ins Ergebnis.
Eine typische Lesereihenfolge ist: Welche Spalten? Aus welcher Tabelle? Unter welcher Bedingung? In welcher Sortierung?
Aufgabe:
Zeige Namen und Punkte aller Schülerinnen und Schüler aus Klasse 8a, beginnend mit der höchsten Punktzahl.
SQL:
SELECT name, punkte FROM Schueler WHERE klasse = '8a' ORDER BY punkte DESC;
Schritt für Schritt:
FROM Schueler: Die Daten kommen aus der TabelleSchueler.WHERE klasse = '8a': Nur Klasse 8a bleibt übrig.SELECT name, punkte: Im Ergebnis stehen nur diese Spalten.ORDER BY punkte DESC: Die höchste Punktzahl steht zuerst.
SQL wird in einer festen Reihenfolge geschrieben, aber die Datenbank verarbeitet Abfragen intern nicht unbedingt genau in dieser Reihenfolge. Für dich ist wichtig: SELECT ... FROM ... WHERE ... ORDER BY ... ist die übliche Schreibform.
Interaktiver Lückentext wird geladen ...
Bedingungen und typische Operatoren
Bedingungen entscheiden, welche Zeilen passen. Dabei musst du zwischen Texten, Zahlen und Vergleichen unterscheiden. Texte stehen meistens in einfachen Anführungszeichen.
Operator
Ein Operator ist ein Zeichen oder Wort, das eine Bedingung ausdrückt. Beispiele sind =, <, >, AND, OR und LIKE.
Mit AND müssen beide Bedingungen stimmen. Mit OR reicht eine von mehreren Bedingungen. Das ist in Prüfungen eine häufige Fehlerquelle.
Tabelle Schueler
| name | klasse | punkte |
|---|---|---|
| Mia | 8a | 17 |
| Ben | 8b | 12 |
| Sara | 8a | 19 |
| Cem | 8a | 9 |
Abfrage:
SELECT name FROM Schueler WHERE klasse = '8a' AND punkte >= 15;
Ergebnis:
- Mia
- Sara
Cem ist zwar in Klasse 8a, hat aber weniger als 15 Punkte. Ben hat genug? Nein, Ben hat 12 Punkte und ist außerdem in 8b.
Abfrage mit OR:
SELECT name FROM Schueler WHERE klasse = '8a' OR punkte >= 18;
Ergebnis:
- Mia
- Sara
- Cem
Alle aus 8a kommen hinein. Zusätzlich kämen auch Personen aus anderen Klassen hinein, wenn sie mindestens 18 Punkte hätten.
AND verengt die Auswahl. OR erweitert die Auswahl. Prüfe bei jeder Beispielzeile einzeln, ob die Bedingung wahr ist.
Interaktive Quizfrage wird geladen ...
Daten ändern: INSERT, UPDATE, DELETE
SQL kann nicht nur lesen. Es kann Daten auch verändern. Gerade deshalb müssen Bedingungen sorgfältig sein. Eine vergessene WHERE-Klausel kann viele Zeilen betreffen.
INSERT
INSERT fügt neue Datensätze in eine Tabelle ein.
UPDATE
UPDATE ändert vorhandene Datensätze in einer Tabelle.
DELETE
DELETE löscht Datensätze aus einer Tabelle.
Neue Person einfügen:
INSERT INTO Schueler (id, name, klasse, punkte) VALUES (4, 'Nora', '8b', 14);
Bestehende Punkte ändern:
UPDATE Schueler SET punkte = 15 WHERE id = 4;
Eine Testperson löschen:
DELETE FROM Schueler WHERE id = 4;
Der wichtigste Schutz steckt bei UPDATE und DELETE in der Bedingung. Ohne WHERE id = 4 würdest du nicht nur Nora treffen.
In echten Anwendungen werden Werte nicht einfach in SQL-Text hineinkopiert. Man nutzt parametrisierte Abfragen, damit Eingaben nicht als SQL-Code missbraucht werden können. Das schützt vor SQL-Injection.
Interaktive Quizfrage wird geladen ...
Tabellenstruktur: Datentypen und Schlüssel
Bevor Daten sinnvoll gespeichert werden, braucht eine Tabelle eine Struktur. Dabei wird festgelegt, welche Spalten es gibt, welche Datentypen sie haben und welche Regeln gelten.
Datentyp
Ein Datentyp legt fest, welche Art von Wert in einer Spalte stehen darf, zum Beispiel ganze Zahl, Text, Datum oder Wahrheitswert.
Constraint
Ein Constraint ist eine Regel für Daten in einer Tabelle. Beispiele sind PRIMARY KEY, NOT NULL, UNIQUE und Fremdschlüsselregeln.
Eine einfache Tabellenidee:
CREATE TABLE Schueler (
id INT PRIMARY KEY,
name TEXT NOT NULL,
klasse TEXT NOT NULL,
punkte INT
);
Bedeutung:
idist eine ganze Zahl und Primärschlüssel.namedarf nicht leer sein.klassedarf nicht leer sein.punkteist eine ganze Zahl.
Gute Tabellenregeln verhindern Fehler früh. Eine Datenbank soll nicht erst kaputte Daten speichern und später hoffen, dass niemand sie bemerkt.
Prüfungsmodus
In SQL-Aufgaben geht es oft nicht darum, viele Befehle auswendig zu können. Wichtiger ist, eine Aufgabenstellung in Filter, Spalten und Sortierung zu zerlegen.
Aufgabe:
"Gib die Namen aller Schüler aus Klasse 9b aus, die weniger als 10 Punkte haben. Sortiere aufsteigend nach Punkten."
Denkweg:
- Spalte im Ergebnis:
name - Tabelle:
Schueler - Bedingungen:
klasse = '9b'undpunkte < 10 - Sortierung:
ORDER BY punkte ASC
SQL:
SELECT name FROM Schueler WHERE klasse = '9b' AND punkte < 10 ORDER BY punkte ASC;
Interaktive Quizfrage wird geladen ...
Alles auf einen Blick
Interaktive Mindmap wird geladen ...
Interaktive Lernkarten wird geladen ...
Abschluss-Check
Interaktive Quizfrage wird geladen ...
Zusammenfassung
SQL ist die wichtigste Sprache für relationale Datenbanken. Mit SELECT liest du Daten, mit WHERE filterst du Zeilen und mit ORDER BY sortierst du Ergebnisse.
Mit INSERT, UPDATE und DELETE veränderst du Daten. Dabei sind genaue Bedingungen wichtig, weil ein fehlendes WHERE sehr viele Zeilen treffen kann.
Tabellenstrukturen bestehen aus Spalten, Datentypen und Regeln. Gute Schlüssel und Constraints helfen, Daten eindeutig, vollständig und sinnvoll zu speichern.
Mit Google fortfahren