Adicionar coluna ao SQL Server


101

Preciso adicionar uma coluna à minha SQL Servertabela. É possível fazer isso sem perder os dados, já perdi?

Respostas:


158

Claro! Basta usar a ALTER TABLE...sintaxe.

Exemplo

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

Ou

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

No SQL Server 2008, o primeiro é uma alteração apenas de metadados. O segundo atualizará todas as linhas.

Na edição SQL Server 2012+ Enterprise, o segundo também é uma alteração apenas de metadados .


17

Use esta consulta:

ALTER TABLE tablename ADD columname DATATYPE(size);

E aqui está um exemplo:

ALTER TABLE Customer ADD LastName VARCHAR(50);

1
Se você código postal, amostras de XML ou de dados, por favor destacar as linhas no editor de texto e clique no botão "código de amostras" ( { }) na barra de ferramentas do editor de bem formato e sintaxe destacá-lo!
marc_s

3

Adicionar uma coluna usando SSMS ou ALTER TABLE .. ADDnão eliminará nenhum dado existente.


2

Adicionar nova coluna à tabela

ALTER TABLE [table]
ADD Column1 Datatype

Por exemplo

ALTER TABLE [test]
ADD ID Int

Se o usuário quiser torná-lo incrementado automaticamente, então

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

-1

Adicione uma nova coluna à tabela com o valor padrão.

ALTER TABLE NAME_OF_TABLE
ADD COLUMN_NAME datatype
DEFAULT DEFAULT_VALUE

Sua resposta seria muito melhor se você acrescentasse uma breve explicação sobre o que está acontecendo aqui.
Bonifacio2
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.