Aggiungi colonna a SQL Server


101

Devo aggiungere una colonna alla mia SQL Servertabella. È possibile farlo senza perdere i dati che ho già?

Risposte:


158

Ovviamente! Usa solo la ALTER TABLE...sintassi.

Esempio

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

O

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 il primo è solo una modifica dei metadati. Il secondo aggiornerà tutte le righe.

Nell'edizione di SQL Server 2012+ Enterprise, anche la seconda è una modifica solo ai metadati .


17

Usa questa query:

ALTER TABLE tablename ADD columname DATATYPE(size);

Ed ecco un esempio:

ALTER TABLE Customer ADD LastName VARCHAR(50);

1
Se si codice postale, campioni di XML o di dati, si prega di evidenziare quelle linee in editor di testo e fare clic sul pulsante "codice di campioni" ( { }) sulla barra degli strumenti Editor per ben formato e la sintassi evidenziarlo!
marc_s

3

L'aggiunta di una colonna utilizzando SSMS o ALTER TABLE .. ADDnon eliminerà i dati esistenti.


2

Aggiungi una nuova colonna alla tabella

ALTER TABLE [table]
ADD Column1 Datatype

Per esempio

ALTER TABLE [test]
ADD ID Int

Se l'utente desidera farlo aumentare automaticamente, allora

ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL

-1

Aggiungi una nuova colonna alla tabella con il valore predefinito.

ALTER TABLE NAME_OF_TABLE
ADD COLUMN_NAME datatype
DEFAULT DEFAULT_VALUE

La tua risposta sarebbe molto migliore se aggiungessi una breve spiegazione su cosa sta succedendo qui.
Bonifacio2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.