SQL - Die Sprache der relationalen Datenbanken
6. Schemamanipulation
6.3 Tabellen ändern

Mit ALTER TABLE bestehende Tabellen ändern

Nachdem nun die Änderungen geplant und dokumentiert wurden, können sie konkret umgesetzt werden.
 
Definition im Lehrtext
Definition
Der SQL-Befehl, der für die Änderungen an der Struktur von Tabellen benutzt wird, ist:
 
ALTER TABLE ...
 
 
Wie (fast) alle SQL-Befehle ist ALTER TABLE in seiner Grundstruktur recht einfach. Wenn es aber an die Feinheiten geht, ist dieser Befehl komplex und mächtig. ALTER TABLE kennt folgende Klauseln:
 
Änderungsvorgaben für ALTER TABLE
Klausel Bedeutung
ADD COLUMN Spalten hinzufügen
ALTER COLUMN Spalten verändern
DROP COLUMN Spalte(n) löschen
ADD CONSTRAINT Constraints hinzufügen
DROP CONSTRAINT Constraints löschen
 
 
Wobei die Klausel ALTER COLUMN folgendermaßen benutzt werden kann:
 
Verwendung der Klausel ALTER COLUMN
ALTER COLUMN ... Bedeutung
    SET DEFAULT Spalte mit einem Default-Wert versehen bzw. einen vorhandenen Default-Wert ändern
    DROP DEFAULT Default-Wert einer Spalte löschen
    ADD SCOPE -
    DROP SCOPE -
 
 
Wichtiger Hinweis im Lehrtext
Hinweis
Die SCOPE-Klauseln werden wir in diesem Kurs nicht behandeln. Die Angabe der Schlüsselwörter COLUMN und CONSTRAINT ist optional.
 
 
Außerdem kann seit SQL:2003 ALTER TABLE benutzt werden, um den Sequenzgenerator einer Identity Spalte (vgl. Kapitel 6.2) neu zu starten oder dessen Parameter zu ändern. Ein Beispiel für einen solchen Restart sehen Sie hier:
 
ALTER TABLE TABELLENNAME 
     ALTER COLUMN spaltenname 
     START WITH 1
;
 
 
Seit SQL:2008 gibt es nun im Standard endlich die Möglichkeit, Datentypen zu ändern. Die Syntax dafür ist wie folgt:
 
ALTER TABLE TABELLENNAME
     ALTER COLUMN spaltenname
     SET DATATYPE datentyp
;