ALTER TABLE
Datenbanken & Tabellen
Mit ALTER TABLE änderst du die Struktur einer bestehenden Tabelle, ohne sie neu anzulegen. Du kannst Spalten hinzufügen, entfernen oder ihren Datentyp ändern.
Spalte hinzufügen (ADD COLUMN)
Wir ergänzen die Tabelle Kunden um eine E-Mail-Spalte:
ALTER TABLE Kunden ADD Email VARCHAR(120);
Spalte löschen (DROP COLUMN)
Brauchst du die Spalte nicht mehr, entfernst du sie so:
ALTER TABLE Kunden DROP COLUMN Email;
Achtung: Die Daten in dieser Spalte sind danach unwiderruflich weg.
Datentyp ändern
Hier unterscheiden sich die Dialekte deutlich:
- MySQL:
ALTER TABLE Kunden MODIFY COLUMN Name VARCHAR(150); - SQL Server:
ALTER TABLE Kunden ALTER COLUMN Name VARCHAR(150); - PostgreSQL:
ALTER TABLE Kunden ALTER COLUMN Name TYPE VARCHAR(150);
Spalte umbenennen
In modernen Versionen geht das einheitlich mit RENAME COLUMN:
ALTER TABLE Kunden RENAME COLUMN Stadt TO Ort;
Mit welchem Befehl fügst du der Tabelle Produkte eine neue Spalte hinzu?
Stolperfalle
Fügst du eine Spalte mit NOT NULL zu einer bereits gefüllten Tabelle hinzu, schlägt das fehl, weil die bestehenden Zeilen keinen Wert hätten. Gib in diesem Fall einen DEFAULT mit an: ADD Status VARCHAR(10) NOT NULL DEFAULT 'aktiv'. Bei großen Tabellen kann ALTER TABLE zudem länger dauern und die Tabelle kurzzeitig sperren.