MySQL: Neue Spalte zu einer Tabelle hinzufügen
Tutorial von Stefan Trost | Letztes Update am 14.04.2024 | 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 eine 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 vorhanden 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 definiert 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 mitsamt aller darin gespeicherten Daten und Werte unwiderruflich.
Über den Autor
Software 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
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
Windows Batch Script: Computer herunterfahren
Tutorial | 2 Kommentare
MySQL: Daten aus Tabelle löschen - Unterschied zwischen TRUNCATE, DELETE und DROP
Tutorial | 0 Kommentare
XAMPP: SSL/HTTPS für lokale Projekte einrichten
Tutorial | 8 Kommentare
Windows per Skript in den Ruhezustand oder Energiesparmodus versetzen
Tutorial | 0 Kommentare
MySQL: Aktuelles Datum oder Zeit in Spalte schreiben
Tutorial | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
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.