Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Eine Tabelle in eine Datenbank übertragen

Nach dieser Lektion: Ich kann Daten aus einer Tabellenkalkulation in eine Datenbanktabelle übertragen.

Lektion, 45 Min.5 BefehleMySQL-und-phpMyAdmin-Lab mit Beispieldatenbank eines Shops zum Üben von SQL

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

BegriffWas er bedeutetBeispiel
Datenbankgeordnete Daten in Tabellen, die viele gemeinsam nutzen
Tabelleeine Sammlung gleich gebauter Datensätze
Datensatzeine Zeile, die genau eine Sache beschreibt
Spalteeine Eigenschaft, die jeder Datensatz hatprodukt
Datentypdie Art von Wert, die in eine Spalte passtINTEGER
Primärschlüsseldie 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 TabellenkalkulationIn der DatenbankBeispiel
TabellenblattTabelleverkauf
SpaltenüberschriftSpaltennameprodukt
ZeileDatensatzein Verkauf
Zelle mit beliebigem InhaltWert mit festem Datentyp12
ZeilennummerPrimärschlüsselid

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

Code: sql
-- 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

DatentypWas darin stehtBeispiel
INTEGEReine ganze Zahl12
DECIMAL(8,2)eine Kommazahl mit zwei Nachkommastellen4.50
TEXT oder VARCHARTextBrezel
DATEein Datum2026-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

Befehl
printf '[client]\nssl-verify-server-cert=0\n' > ~/.my.cnf

Hier 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

Befehl
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

Befehl
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

Befehl
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

Befehl
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

Code: sql
-- 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.

Über dieses Lab und seinen Quellcode: MySQL-und-phpMyAdmin-Lab mit Beispieldatenbank eines Shops zum Üben von SQL

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.