Wenn die Tabelle zu groß wird
Eine Datenbank ist eine Sammlung von Tabellen, die viele Menschen gleichzeitig und ohne Chaos benutzen können. Sie lohnt sich, sobald eine Tabellenkalkulation zu groß wird oder mehrere Personen sie ändern.
Stell dir das Schulcafé vor. Es schreibt jeden Verkauf in eine Datei. Nach einem Jahr gibt es drei Versionen, und niemand weiß, welche stimmt.
Am Ende dieser Lektion
Notiz
Ich kann Daten aus einer Tabellenkalkulation in eine Datenbanktabelle übertragen.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Datenbank | geordnete Daten in Tabellen, die viele gemeinsam nutzen | |
| Tabelle | eine Sammlung gleich gebauter Datensätze | |
| Datensatz | eine Zeile, die genau eine Sache beschreibt | |
| Spalte | eine Eigenschaft, die jeder Datensatz hat | produkt |
| Datentyp | die Art von Wert, die in eine Spalte passt | INTEGER |
| Primärschlüssel | die Spalte, die jeden Datensatz eindeutig macht |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Datenbanktabelle sieht aus wie ein Tabellenblatt
Eine Datenbank besteht aus Tabellen. Jede hat Spalten und Zeilen, genau wie ein Tabellenblatt. Eine Spalte ist eine Eigenschaft, zum Beispiel das Produkt. Eine Zeile heißt Datensatz und beschreibt genau eine Sache, zum Beispiel einen Verkauf.
Ein Unterschied zählt: Jede Spalte hat genau einen Datentyp. In einer Spalte steht also nur Text oder nur Zahlen, nie ein Gemisch.
Ein Beispiel: Tabellenblatt und Datenbank im Vergleich
| In der Tabellenkalkulation | In der Datenbank | Beispiel |
|---|---|---|
| Tabellenblatt | Tabelle | verkauf |
| Spaltenüberschrift | Spaltenname | produkt |
| Zeile | Datensatz | ein Verkauf |
| Zelle mit beliebigem Inhalt | Wert mit festem Datentyp | 12 |
| Zeilennummer | Primärschlüssel | id |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Der Datentyp sagt, was in eine Spalte passt
Beim Anlegen einer Tabelle legst du für jede Spalte einen Namen und einen Datentyp fest. Der Befehl dafür heißt CREATE TABLE. NOT NULL heißt: Diese Angabe darf nicht fehlen.
Dazu kommt der Primärschlüssel. Sein Wert macht jeden Datensatz eindeutig, meist ist es eine fortlaufende Nummer id. Zwei Datensätze mit derselben id gibt es nicht.
So legst du eine Tabelle an
-- Eine Tabelle für die Verkäufe des Schulcafés.
CREATE TABLE verkauf (
id INTEGER PRIMARY KEY,
datum TEXT NOT NULL,
produkt TEXT NOT NULL,
menge INTEGER NOT NULL,
preis_in_cent INTEGER NOT NULL
);Ein Beispiel: häufige Datentypen
| Datentyp | Was darin steht | Beispiel |
|---|---|---|
| INTEGER | eine ganze Zahl | 12 |
| DECIMAL(8,2) | eine Kommazahl mit zwei Nachkommastellen | 4.50 |
| TEXT oder VARCHAR | Text | Brezel |
| DATE | ein Datum | 2026-03-02 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
So sieht eine echte Datenbank aus
Das Lab hat eine fertige Datenbank namens shop, die ein Online-Geschäft nachbildet. Drück oben in der Leiste auf Lab starten und warte, bis die Maschine läuft. Öffne dann das Terminal.
Die ersten zwei Befehle richten die Verbindung ein. Die anderen schauen nur hinein und ändern nichts.
Das Zertifikat des Servers annehmen
printf '[client]\nssl-verify-server-cert=0\n' > ~/.my.cnfHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Eine Abkürzung für die Verbindung
alias sql='mariadb -h db -u student -pstudent shop -t -e'Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Tabellen der Datenbank auflisten
sql "SHOW TABLES"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Den Bau der Tabelle products ansehen
sql "DESCRIBE products"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Datensätze einer Tabelle zählen
sql "SELECT COUNT(*) AS anzahl FROM customers"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein Komma macht aus einer Zahl Text
Eine Tabellenkalkulation schreibt Preise mit Komma, wie 0,90. SQL kennt nur den Punkt: 0.90. Kommt eine Datei als Text an, steht in der Spalte also der Text 0,90 und keine Zahl.
Mit REPLACE tauschst du das Komma gegen einen Punkt. Mit CAST machst du aus dem Text eine Zahl.
Probier es: aus Text eine Zahl machen
-- Aus dem Text 0,90 wird die Zahl 0.9.
SELECT produkt,
CAST(REPLACE(preis_text, ',', '.') AS REAL) AS preis_in_euro
FROM verkauf_text
WHERE datum = '2026-03-03';
-- Ändere das Datum in 2026-03-02 und starte noch einmal.
Ein häufiger Fehler
Warnung
Viele denken, eine Zahl in der Datei sei auch in der Datenbank eine Zahl. Das stimmt nur, wenn die Spalte einen Zahlentyp hat. Kam sie als Text an, ordnet SQL 12 vor 9, weil es Zeichen für Zeichen vergleicht. Prüfe darum zuerst den Datentyp.