En SQL Server, la instrucción ALTER TABLE se utiliza para realizar cambios en una tabla existente. Estos cambios pueden incluir agregar o eliminar columnas, modificar el tipo de datos de una columna, cambiar el nombre de una columna, agregar o eliminar restricciones, agregar o eliminar claves primarias y agregar o eliminar claves foráneas.
1. Agregar una columna a una tabla existente
Para agregar una columna a una tabla existente en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla ADD nombre_columna tipo_dato;
Por ejemplo, si queremos agregar una columna llamada «telefono» de tipo VARCHAR(20) a una tabla llamada «clientes», la sintaxis sería:
ALTER TABLE clientes ADD telefono VARCHAR(20);
2. Eliminar una columna de una tabla existente
Para eliminar una columna de una tabla existente en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla DROP COLUMN nombre_columna;
Por ejemplo, si queremos eliminar la columna «telefono» de la tabla «clientes», la sintaxis sería:
ALTER TABLE clientes DROP COLUMN telefono;
3. Modificar el tipo de datos de una columna
Para modificar el tipo de datos de una columna en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla ALTER COLUMN nombre_columna tipo_dato;
Por ejemplo, si queremos cambiar el tipo de datos de la columna «telefono» de VARCHAR(20) a VARCHAR(30) en la tabla «clientes», la sintaxis sería:
ALTER TABLE clientes ALTER COLUMN telefono VARCHAR(30);
4. Cambiar el nombre de una columna
Para cambiar el nombre de una columna en SQL Server, se utiliza la siguiente sintaxis:
EXEC sp_rename ‘nombre_tabla.nombre_columna’, ‘nuevo_nombre’, ‘COLUMN’;
Por ejemplo, si queremos cambiar el nombre de la columna «telefono» a «telefono_cliente» en la tabla «clientes», la sintaxis sería:
EXEC sp_rename ‘clientes.telefono’, ‘telefono_cliente’, ‘COLUMN’;
5. Agregar una restricción a una columna
Para agregar una restricción a una columna en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_restriccion CHECK (condicion);
Por ejemplo, si queremos agregar una restricción de que el campo «edad» debe ser mayor o igual a 18 en la tabla «clientes», la sintaxis sería:
ALTER TABLE clientes ADD CONSTRAINT restriccion_edad CHECK (edad >= 18);
6. Eliminar una restricción de una columna
Para eliminar una restricción de una columna en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_restriccion;
Por ejemplo, si queremos eliminar la restricción «restriccion_edad» de la tabla «clientes», la sintaxis sería:
ALTER TABLE clientes DROP CONSTRAINT restriccion_edad;
7. Agregar una clave primaria a una tabla
Para agregar una clave primaria a una tabla en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_clave_primaria PRIMARY KEY (columnas);
Por ejemplo, si queremos agregar una clave primaria compuesta por las columnas «id_cliente» y «id_producto» a la tabla «ventas», la sintaxis sería:
ALTER TABLE ventas ADD CONSTRAINT pk_ventas PRIMARY KEY (id_cliente, id_producto);
8. Eliminar una clave primaria de una tabla
Para eliminar una clave primaria de una tabla en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_clave_primaria;
Por ejemplo, si queremos eliminar la clave primaria «pk_ventas» de la tabla «ventas», la sintaxis sería:
ALTER TABLE ventas DROP CONSTRAINT pk_ventas;
9. Agregar una clave foránea a una tabla
Para agregar una clave foránea a una tabla en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_clave_foranea FOREIGN KEY (columna) REFERENCES tabla_referenciada (columna_referenciada);
Por ejemplo, si queremos agregar una clave foránea en la columna «id_cliente» de la tabla «ventas» que haga referencia a la columna «id» de la tabla «clientes», la sintaxis sería:
ALTER TABLE ventas ADD CONSTRAINT fk_ventas_clientes FOREIGN KEY (id_cliente) REFERENCES clientes (id);
10. Eliminar una clave foránea de una tabla
Para eliminar una clave foránea de una tabla en SQL Server, se utiliza la siguiente sintaxis:
ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_clave_foranea;
Por ejemplo, si queremos eliminar la clave foránea «fk_ventas_clientes» de la tabla «ventas», la sintaxis sería:
ALTER TABLE ventas DROP CONSTRAINT fk_ventas_clientes;