83 - Agregar y eliminar campos ( alter table - add - drop)


"alter table" permite modificar la estructura de una tabla.
Podemos utilizarla para agregar, modificar y eliminar campos de una tabla.

Para agregar un nuevo campo a una tabla empleamos la siguiente sintaxis básica:

 alter table NOMBRETABLA
  add NOMBRENUEVOCAMPO DEFINICION;

En el siguiente ejemplo agregamos el campo "cantidad" a la tabla "libros", de tipo tinyint, que acepta valores nulos:

 alter table libros
  add cantidad tinyint;

Puede verificarse la alteración de la estructura de la tabla ejecutando el procedimiento almacenado "sp_columns".

SQL Server no permite agregar campos "not null" a menos que se especifique un valor por defecto:

 alter table libros
  add autor varchar(20) not null default 'Desconocido';

En el ejemplo anterior, se agregó una restricción "default" para el nuevo campo, que puede verificarse ejecutando el procedimiento almacenado "sp_helpconstraint".

Al agregar un campo puede especificarse que sea "identity" (siempre que no exista otro campo identity).

Para eliminar campos de una tabla la sintaxis básica es la siguiente:

 alter table NOMBRETABLA
  drop column NOMBRECAMPO;

En el siguiente ejemplo eliminamos el campo "precio" de la tabla "libros":

 alter table libros
  drop column precio;

No pueden eliminarse los campos que son usados por un índice o tengan restricciones. No puede eliminarse un campo si es el único en la tabla.

Podemos eliminar varios campos en una sola sentencia:

 alter table libros
  drop column editorial,edicion;