Spalte zu SQL Server hinzufügen

101

Ich muss meiner SQL ServerTabelle eine Spalte hinzufügen . Ist es möglich, ohne die Daten zu verlieren, die ich bereits habe?

Antarr Byrd
quelle

Antworten:

158

Natürlich! Verwenden Sie einfach die ALTER TABLE...Syntax.

Beispiel

ALTER TABLE YourTable
  ADD Foo INT NULL /*Adds a new int column existing rows will be 
                     given a NULL value for the new column*/

Oder

ALTER TABLE YourTable
  ADD Bar INT NOT NULL DEFAULT(0) /*Adds a new int column existing rows will
                                    be given the value zero*/

In SQL Server 2008 ist die erste Änderung nur eine Änderung der Metadaten. Die zweite aktualisiert alle Zeilen.

In der SQL Server 2012+ Enterprise Edition ist die zweite nur eine Änderung der Metadaten .

Martin Smith
quelle
17

Verwenden Sie diese Abfrage:

ALTER TABLE tablename ADD columname DATATYPE(size);

Und hier ist ein Beispiel:

ALTER TABLE Customer ADD LastName VARCHAR(50);
Bhavesh N.
quelle
1
Wenn Sie eine Postleitzahl, XML oder Datenproben, bitte diese Zeilen im Texteditor und klicken Sie auf den „Code - Beispiele“ Taste (markieren { }) auf der Editor - Symbolleiste zu schön Format und die Syntax markieren Sie es!
marc_s
3

Wenn Sie eine Spalte mit SSMS hinzufügen oder ALTER TABLE .. ADDkeine vorhandenen Daten löschen .

Alex K.
quelle
2

Neue Spalte zur Tabelle hinzufügen

ALTER TABLE [table]
ADD Column1 Datatype

Z.B

ALTER TABLE [test]
ADD ID Int

Wenn der Benutzer es automatisch inkrementieren möchte, dann

ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL
Chirag Thakar
quelle
-1

Fügen Sie der Tabelle eine neue Spalte mit dem Standardwert hinzu.

ALTER TABLE NAME_OF_TABLE
ADD COLUMN_NAME datatype
DEFAULT DEFAULT_VALUE
Rakesh Singh Balhara
quelle
Ihre Antwort wäre viel besser, wenn Sie eine kurze Erklärung hinzufügen würden, was hier vor sich geht.
Bonifacio2