sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo agregar una nueva columna a una tabla existente en SQL Server (T-SQL)

Cuando crea una tabla en SQL Server usando T-SQL, especifica todas las columnas para esa tabla, junto con sus tipos de datos, cualquier restricción, etc.

Pero, ¿qué pasa si un día decides agregar una nueva columna a esa tabla? ¿Cómo agrega la nueva columna a la tabla existente sin crear la tabla nuevamente? Después de todo, descartar la tabla y comenzar de nuevo no suele ser una opción, ya que la tabla ya contendrá datos, y probablemente no desee tener que hacer una copia de seguridad de todos esos datos y volver a insertarlos después de eliminar y crear la tabla.

La respuesta es:La ALTER TABLE declaración.

La declaración ALTER TABLE

La ALTER TABLE le permite modificar una tabla existente sin estropear su definición existente y cualquier dato que pueda residir dentro de ella.

Puede agregar una nueva columna a una tabla existente como esta:

He aquí un ejemplo:

ALTER TABLE Tasks
    ADD TaskDescription varchar(255) NULL;
GO

En este ejemplo, agregamos una nueva columna llamada TaskDescription a las Tasks mesa. Nuestra nueva columna tiene un tipo de datos de varchar(255) y puede contener valores nulos.

También usamos GO en este caso, que en realidad no es un comando Transact-SQL, pero es reconocido por sqlcmdosql utilidades y SQL Server Management Studio Code Editor, y señala el final de un lote de instrucciones Transact-SQL.

Comprueba los resultados

Puede comprobar los resultados ejecutando una consulta que devuelve todas las columnas de la tabla dada. Así:

USE Solutions;
SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tasks';

Esto enumera los detalles de todas las columnas en las Tasks mesa. Primero cambio a la base de datos correcta (en este caso, las Solutions base de datos). Por supuesto, deberá cambiar la base de datos y el nombre de la tabla según sea necesario.