Alter Table en SQL Server

modificar una tabla en sql con alter table


En este artículo estaremos hablando sobre el uso de la sentencia ALTER TABLE, vamos a ver sus diferentes uso y cómo crearlas.


La sentencia SQL ALTER TABLE  nos permite agregar, modificar y eliminar columnas existentes en una tabla. Además podemos agregar y quitar restricciones (Puede interesarte restricciones: Primary Key, Foreign Key) existentes en una tabla.

Sintaxis 

ALTER TABLE NOMBRE_TABLA ADD NOMBRE_COLUMNA [TIPO_DATO] 

Mediante la sintaxis mostrada primeramente escribimos la sentencia alter table seguido del nombre de la tabla a la que vamos agregar la nueva columna, posteriormente definimos el nombre de la columna y por último asignamos el tipo de datos (Puede ser un entero, de tipo cadena o fecha, etc...).


Ejemplo de uso de alter table en sql server

A continuación vamos a crear una serie de ejemplos para poner en práctica el uso de alter table, para eso vamos a crear un tabla de ejemplo llamada Empleados.

CREATE TABLE EMPLEADOS(
EMPLEADOID INT IDENTITY NOT NULL,
NOMBRE_EMPLEADO VARCHAR(100) NULL,
APELLIDOS_EMPLEADO VARCHAR(100) NULL,
FECHA_NACIMIENTO DATETIME NOT NULL,
);

Ahora esa tabla la vamos a crear en SQL Server Management Studio:


La tabla ha sido creada de manera correcta.


Ahora a esa tabla vamos a agregarle otra columna que almacené la edad de un empleado, para eso vamos hacer uso de la misma sentencia.

ALTER TABLE EMPLEADOS ADD EDAD INT NOT NULL

Como estamos usando management studio de sql , ejecutemos la sentencia y veamos si se crea la columna nueva.


Después de haber ejecutado la sentencia vamos a verificar si se creó la nueva columna, para eso nos vamos al explorador de objeto, nos ubicamos en nuestra base de datos y buscamos la tabla, desplegamos las opciones de la tabla para verificar sus columnas.


Si observamos la nueva columna ya aparece en nuestra tabla empleados.


Uso de alter table en sql server para agregar múltiples columnas

Ahora bien ya vimos como usar alter table para agregar una columna a nuestra tabla, bien pero si quisiéramos agregar a la vez más de una columna a nuestra tabla, para eso debemos de separar las nuevas columnas creadas mediante coma. veamos un ejemplo.

ALTER TABLE EMPLEADOS ADD CIUDAD_RESIDENCIA VARCHAR(80) NULL, 
                          PESO DECIMAL(6,2) NOT NULL,
		          NUMERO_IDENTIFICACION INT NOT NULL,
			  NUMERO_TELEFONICO INT NULL

Si observamos la figura anterior hemos declarado una serie de columnas nuevas que se añadirán a la tabla mediante el uso de alter table pero cada una de estas columnas las hemo separado por coma. ejecutemos la sentencia y luego veamos si se crearon todas las columnas declaradas.


Si observamos las columnas fueron creadas ahora veamos la estructura de la tabla.



Agregar restricciones usando alter table


Ya vimos como usar alter table para agregar una columna y múltiples columnas en SQL Server. Ahora vamos a ver cómo agregar una restricción Primary Key y Foreign Key a una tabla.

Para agregar una llave primaria usando alter table usaremos la siguiente sintaxis.

 ALTER TABLE NOMBRE_TABLA ADD CONSTRAINT NOMBRE_RESTRICCION PRIMARY KEY(COLUMNA)  

A la tabla empleado que creamos no le definimos su llave primaria. Entonces haciendo uso de alter table agreguemos su primary key.

ALTER TABLE EMPLEADOS ADD CONSTRAINT PKEMPLEADO PRIMARY KEY(EMPLEADOID)

Ahora en Management Studio ejecutemos la sentencia y verifiquemos los resultados.


Verifiquemos en la estructura de la tabla si se creó la llave primaria, para eso en las opciones de la tabla busquemos una opción que dice Keys.



Si observamos se creó la llave primaria de nuestra tabla empleados. Ahora vamos a crear una tabla Llamada roles de empleado.

CREATE TABLE EMPLEADO_ROLES(
ROLID INT IDENTITY NOT NULL,
EMPLEADOID INT NOT NULL,
DESCRIPCION_ROL VARCHAR(100) NOT NULL,
CONSTRAINT PKROL PRIMARY KEY(ROLID),
);

Ahora necesitamos hacer referencia a la tabla empleado, para ello hay que agregarle su llave secundaria y se la agregaremos usando la sentencia alter table, veamos la consulta a crear.

ALTER TABLE EMPLEADO_ROLES ADD CONSTRAINT FKROLES FOREIGN KEY(EMPLEADOID) 
REFERENCES EMPLEADOS(EMPLEADOID)

Ejecutamos la sentencia para obtener el resultado:


Verifiquemos la estructura de la tabla si se creó la llave secundaria.


Y efectivamente se llevó a cabo la creación de la llave secundaria en la tabla EMPLEADO_ROLES.


La sentencia alter table es muy importante ya que mediante su uso podemos añadir columnas y restricciones a tablas ya existentes. Pero hemos de saber cuándo implementarlo dada la necesidad, ya que como sabemos previo a crear una base de datos y sus tablas pasamos por un proceso donde definimos los campos que contendrá cada tabla (Normalización). Por lo cual alter table suele ser usado cuando necesitamos modificar o añadir campos a una tabla.



Publicar un comentario

0 Comentarios