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?

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 .


17

Verwenden Sie diese Abfrage:

ALTER TABLE tablename ADD columname DATATYPE(size);

Und hier ist ein Beispiel:

ALTER TABLE Customer ADD LastName VARCHAR(50);

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 .


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

-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

Ihre Antwort wäre viel besser, wenn Sie eine kurze Erklärung hinzufügen würden, was hier vor sich geht.
Bonifacio2
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.