48 Stimmen

MySQL: Neue Spalte zu einer Tabelle hinzufügen

Tutorial von Stefan Trost | Letztes Update am 07.05.2021 | Erstellt am 28.01.2012

Ich möchte euch in diesem Tutorial einige Befehle zeigen, mit denen ihr einer bestehenden MySQL Tabelle eine neue Spalte hinzufügen könnt.

Der simpelste Befehl in diesem Zusammenhang lautet:

ALTER TABLE tabelle ADD spalte INT;

Dieser Befehl fügt der Tabelle "tabelle" die Spalte "spalte" hinzu. In diesem Beispiel haben wir den Datentyp Integer (INT) verwendet, den Datentyp können wir aber beliebig an unsere Bedürfnisse anpassen, beispielsweise ist hier der Befehl zum Hinzufügen einer gleichnamigen VARCHAR-Spalte mit einer Länge von 200 Zeichen:

ALTER TABLE tabelle ADD spalte VARCHAR(200);

Verwenden können wir jeden Datentypen, der uns auch ansonsten für Spalten in MySQL-Tabellen zur Verfügung steht. Wir müssen den Datentypen lediglich direkt hinter den Namen, den wir für unsere neue Spalte ausgesucht haben, schreiben.

Position der neuen Spalte

Die beiden ersten Beispiele fügen die neue Spalte jeweils als letzte Spalte in die bestehende Tabelle ein, da wir nicht angegeben haben, wo die Spalte eingefügt werden soll.

Wollen wir die Position der neuen Spalte selber bestimmen, können wir die in unserer Tabelle bereits existierende Spalte angeben, hinter der die neue Spalte eingefügt werden soll. Dazu schreiben wir die existierende Spalte, hinter der die neue Spalte eingefügt werden soll, einfach hinter AFTER:

ALTER TABLE tabelle ADD spalte INT(10) AFTER altespalte;

Diese Vorgehensweise funktioniert natürlich nicht für alle Positionen: Soll die neue Spalte ganz an den Anfang der Tabelle als erste Spalte eingefügt werden, verwenden wir FIRST:

ALTER TABLE tabelle ADD spalte INT(10) FIRST;

Default-Werte

Manchmal möchten wir auch schon einen Default-Wert für die Spalte definieren. Das nächste Beispiel setzt den Default-Wert der neuen Spalte "spalte" auf 1:

ALTER TABLE tabelle ADD spalte INT DEFAULT(1);

Damit erreichen wir gleich mehreres: Sollten zum Zeitpunkt des Hinzufügens der neuen Spalte schon Datensätze in unserer Tabelle sein, bekommt jeder Datensatz in der neuen Spalte den angegebenen Default-Wert als Wert. Gleichzeitig erhalten auch neu hinzugefügte Datensätze, die keinen expliziten Wert für unsere neue Spalte haben, automatisch den Default-Wert für diese Spalte.

Spalte löschen

Und wenn wir unsere neue Spalte wieder löschen möchten, bleibt uns immer noch der Befehl:

ALTER TABLE tabelle DROP spalte;

Dieser Befehl löscht die hinter DROP angegebene Spalte unwiderruflich.

AntwortenPositivNegativ

Über den Autor

AvatarSoftware von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen

 

Ähnliche Themen

Concat Abfrage in Tabelle schreiben

Offene Frage | 3 Antworten

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.