Agregar columna a SQL Server


101

Necesito agregar una columna a mi SQL Servertabla. ¿Es posible hacerlo sin perder los datos que ya tengo?

Respuestas:


158

¡Por supuesto! Solo usa la ALTER TABLE...sintaxis.

Ejemplo

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*/

En SQL Server 2008, el primero es un cambio de solo metadatos. El segundo actualizará todas las filas.

En SQL Server 2012+ Enterprise Edition, el segundo es un cambio solo de metadatos también .


17

Utilice esta consulta:

ALTER TABLE tablename ADD columname DATATYPE(size);

Y aquí tienes un ejemplo:

ALTER TABLE Customer ADD LastName VARCHAR(50);

1
Si el código de poste, XML o datos de muestras, por favor, destacar aquellas líneas en el editor de texto y haga clic en el botón "muestras de código" ( { }) en la barra de herramientas de editor de formato y la sintaxis muy bien resáltala!
marc_s

3

Agregar una columna usando SSMS o ALTER TABLE .. ADDno eliminará ningún dato existente.


2

Agregar nueva columna a la tabla

ALTER TABLE [table]
ADD Column1 Datatype

P.ej

ALTER TABLE [test]
ADD ID Int

Si el usuario quiere que se incremente automáticamente,

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

-1

Agregue una nueva columna a la tabla con el valor predeterminado.

ALTER TABLE NAME_OF_TABLE
ADD COLUMN_NAME datatype
DEFAULT DEFAULT_VALUE

Su respuesta sería mucho mejor si agregara una breve explicación de lo que está sucediendo aquí.
Bonifacio2
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.