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;