MariaDB - Befehl ändern
Der Befehl ALTER bietet eine Möglichkeit, die Struktur einer vorhandenen Tabelle zu ändern. Dies bedeutet Änderungen wie das Entfernen oder Hinzufügen von Spalten, das Ändern von Indizes, das Ändern von Datentypen oder das Ändern von Namen. ALTER wartet auch darauf, Änderungen zu übernehmen, wenn eine Metadatensperre aktiv ist.
Verwenden von ALTER zum Ändern von Spalten
ALTER gepaart mit DROP entfernt eine vorhandene Spalte. Es schlägt jedoch fehl, wenn die Spalte die einzige verbleibende Spalte ist.
Überprüfen Sie das folgende Beispiel -
mysql> ALTER TABLE products_tbl DROP version_num;
Verwenden Sie eine ALTER ... ADD-Anweisung, um Spalten hinzuzufügen -
mysql> ALTER TABLE products_tbl ADD discontinued CHAR(1);
Verwenden Sie die Schlüsselwörter FIRST und AFTER, um die Platzierung der Spalte festzulegen.
ALTER TABLE products_tbl ADD discontinued CHAR(1) FIRST;
ALTER TABLE products_tbl ADD discontinued CHAR(1) AFTER quantity;
Beachten Sie, dass die Schlüsselwörter FIRST und AFTER nur für ALTER ... ADD-Anweisungen gelten. Außerdem müssen Sie eine Tabelle löschen und dann hinzufügen, um sie neu zu positionieren.
Ändern Sie eine Spaltendefinition oder einen Spaltennamen mithilfe der Klausel MODIFY oder CHANGE in einer ALTER-Anweisung. Die Klauseln haben ähnliche Auswirkungen, verwenden jedoch eine wesentlich andere Syntax.
Sehen Sie sich das unten angegebene CHANGE-Beispiel an -
mysql> ALTER TABLE products_tbl CHANGE discontinued status CHAR(4);
Geben Sie in einer Anweisung mit CHANGE die ursprüngliche Spalte und dann die neue Spalte an, die sie ersetzen soll. Sehen Sie sich unten ein MODIFY-Beispiel an -
mysql> ALTER TABLE products_tbl MODIFY discontinued CHAR(4);
Mit dem Befehl ALTER können auch Standardwerte geändert werden. Überprüfen Sie ein Beispiel -
mysql> ALTER TABLE products_tbl ALTER discontinued SET DEFAULT N;
Sie können es auch verwenden, um Standardeinschränkungen zu entfernen, indem Sie es mit einer DROP-Klausel koppeln.
mysql> ALTER TABLE products_tbl ALTER discontinued DROP DEFAULT;
Verwenden von ALTER zum Ändern von Tabellen
Ändern Sie den Tabellentyp mit der TYPE-Klausel -
mysql> ALTER TABLE products_tbl TYPE = INNODB;
Benennen Sie eine Tabelle mit dem Schlüsselwort RENAME um -
mysql> ALTER TABLE products_tbl RENAME TO products2016_tbl;