modificar una tabla en sql con alter table
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
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:
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.
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.
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.
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.
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.
0 Comentarios