Dies ist eine alte Version des Dokuments!
LU05b - Datenbanken und Tabellen anlegen (SQL-DDL)
Lernziele
- Ich kann mit SQL eine Datenbank erstellen, auswählen und löschen.
- Ich kann mit SQL eine Tabelle mit Spalten und Datentypen erstellen und wieder löschen.
- Ich kenne die Namensregeln für Tabellen und Spalten.
Alle Befehle auf dieser Seite gehören zur Data Definition Language (DDL) – dem Teil von SQL, mit dem die Struktur einer Datenbank definiert wird.
Der ganze Ablauf im Überblick
Stummes Demovideo: Der komplette Ablauf in WebStorm. Zu sehen sind nacheinander: eine neue Query Console öffnen, mit CREATE DATABASE eine Datenbank anlegen, sie mit USE aktiv schalten, mit CREATE TABLE eine Tabelle mit zwei Spalten und Datentypen erstellen und zum Schluss über die WebStorm-Oberfläche Daten eintragen und mit Submit speichern.
Im Video taucht bereits das Schlüsselwort PRIMARY KEY auf. Das ist ein sogenannter Constraint – den behandeln wir auf der nächsten Seite. Konzentrieren Sie sich beim ersten Schauen auf den Ablauf.
Datenbank erstellen
Eine Datenbank ist wie ein Ordner, in dem die Tabellen liegen.
CREATE DATABASE bibliothek;
Bisher haben wir das in WebStorm per Rechtsklick auf die Verbindung erledigt: New → Schema. Der SQL-Befehl macht genau dasselbe.
Datenbank auswählen
Auf einem MySQL-Server können mehrere Datenbanken nebeneinander bestehen – etwa bibliothek und filmsammlung. Sie liegen im gleichen System, verwalten ihre Daten aber getrennt.
Damit MySQL weiss, in welcher Datenbank Sie arbeiten, wählen Sie diese zuerst aus:
USE bibliothek;
Ab diesem Moment gelten alle folgenden Befehle für diese Datenbank. In WebStorm haben wir dafür bisher das Drop-Down-Feld oben im Konsolenfenster verwendet – der Befehl USE macht dasselbe in SQL.
Tabelle erstellen
Mit CREATE TABLE legen Sie eine Tabelle in der aktuell gewählten Datenbank an.
CREATE TABLE tabellenname ( spaltenname1 DATENTYP, spaltenname2 DATENTYP );
Beachten Sie: Nach der letzten Spalte steht kein Komma mehr.
Beispiel: Tabelle buch
CREATE TABLE buch ( buch_id INT, titel VARCHAR(100), isbn CHAR(13), seiten INT, preis DECIMAL(6,2), erschienen DATE, ausgeliehen BOOLEAN );
Die Datentypen stammen direkt aus der Überlegung auf der vorherigen Seite. Diese Tabelle funktioniert – gut ist sie aber noch nicht: Aktuell könnten zwei Bücher dieselbe buch_id haben, und ein Buch ganz ohne Titel wäre ebenfalls erlaubt. Das reparieren wir auf der nächsten Seite.
Namensregeln
- keine Leerzeichen, keine Umlaute, keine Sonderzeichen
- nur Kleinbuchstaben
- Wörter mit Unterstrich trennen: buch_id, nicht BuchID
- innerhalb einer Datenbank muss jeder Tabellenname eindeutig sein
Löschen
DROP TABLE buch; DROP DATABASE bibliothek;
Achtung: Beide Befehle löschen sofort und unwiderruflich – inklusive aller Daten. DROP DATABASE entfernt zusätzlich alle Tabellen darin. In produktiven Systemen nur nach einem Backup verwenden.


