Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So fügen Sie einer vorhandenen Tabelle in SQL Server (T-SQL) eine neue Spalte hinzu

Wenn Sie eine Tabelle in SQL Server mit T-SQL erstellen, geben Sie alle Spalten für diese Tabelle zusammen mit ihren Datentypen, Einschränkungen usw. an.

Aber was passiert, wenn Sie eines Tages beschließen, dieser Tabelle eine neue Spalte hinzuzufügen? Wie fügen Sie der vorhandenen Tabelle die neue Spalte hinzu, ohne die Tabelle erneut zu erstellen? Schließlich ist es normalerweise keine Option, die Tabelle zu löschen und neu zu starten, da die Tabelle bereits Daten enthält und Sie wahrscheinlich nicht alle diese Daten sichern und nach dem Löschen und Erstellen der Tabelle erneut einfügen möchten.

Die Antwort lautet:Die ALTER TABLE Aussage.

Die ALTER TABLE-Anweisung

Die ALTER TABLE -Anweisung können Sie eine vorhandene Tabelle ändern, ohne ihre vorhandene Definition und alle darin enthaltenen Daten zu beschädigen.

Sie können einer bestehenden Tabelle wie folgt eine neue Spalte hinzufügen:

Hier ist ein Beispiel:

ALTER TABLE Tasks
    ADD TaskDescription varchar(255) NULL;
GO

In diesem Beispiel fügen wir eine neue Spalte namens TaskDescription hinzu zu den Tasks Tisch. Unsere neue Spalte hat den Datentyp varchar(255) und es kann Nullwerte enthalten.

Wir verwenden auch GO In diesem Fall handelt es sich eigentlich nicht um einen Transact-SQL-Befehl, der jedoch von sqlcmd erkannt wird und osql Dienstprogramme und SQL Server Management Studio Code Editor und signalisiert das Ende eines Stapels von Transact-SQL-Anweisungen.

Überprüfen Sie die Ergebnisse

Sie können die Ergebnisse überprüfen, indem Sie eine Abfrage ausführen, die alle Spalten für die angegebene Tabelle zurückgibt. So:

USE Solutions;
SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tasks';

Dies listet die Details aller Spalten in den Tasks auf Tisch. Ich wechsle zuerst zur richtigen Datenbank (in diesem Fall die Solutions Datenbank). Natürlich müssen Sie den Datenbank- und Tabellennamen nach Bedarf ändern.