Introducción al comando SQL Alter

SQL (Structured Query Language) se utiliza para realizar operaciones en bases de datos y tablas usando varios comandos SQL como DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) y TCL (Transaction Control Language). En DDL, usamos comandos como CREATE, DROP, ALTER, etc. para crear y modificar la estructura de la base de datos o los objetos en la base de datos. El comando ALTER se usa para agregar, modificar o eliminar las columnas de una tabla. En este tema, vamos a aprender sobre el comando SQL Alter.

Sintaxis

El comando ALTER puede usarse para agregar columnas a una tabla existente, descartar una columna de una tabla, cambiar el nombre de una columna existente y cambiar el tipo de datos de una columna. A continuación se muestra la sintaxis utilizada para las diferentes operaciones que se pueden realizar con el comando Alter.

La sintaxis para agregar una nueva columna a una tabla existente es la siguiente:

ALTER TABLE table_name ADD COLUMN column_name datatype;

La sintaxis para agregar una columna con un valor predeterminado a una tabla existente es la siguiente:

ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT 'value';

La sintaxis para cambiar el tipo de datos de una columna existente como se muestra a continuación:

ALTER TABLE table_name MODIFY column_name datatype;

La sintaxis para renombrar una columna de la siguiente manera:

ALTER TABLE table_name RENAME old_column_name To new_column_name;

La sintaxis para soltar una columna de la siguiente manera:

ALTER TABLE table_name DROP column_name;

La sintaxis para agregar la restricción NOT NULL a una columna de la siguiente manera:

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

¿Cómo usar SQL Alter Command con ejemplos?

Para comprender las operaciones del comando ALTER, consideremos la siguiente tabla 'EMPLEADO' como ejemplo. La tabla 'EMPLEADO' ya está creada y con el uso del comando Alter, se pueden realizar muchas modificaciones, como agregar la columna, renombrar una columna, soltar una columna, etc., como se describe a continuación.

Tabla de EMPLEADO de la siguiente manera:

CARNÉ DE IDENTIDADNOMBREAÑOSSALARIO
134Sonal2423000.00
145Nikhil2728990.00
167Soham2625000.00
234Yash3235000.00
189Ritu2529000.00
190Rajesh2829000.00

Agregar una sola columna a la tabla EMPLEADO como se muestra a continuación

ALTER TABLE EMPLOYEE ADD COLUMN DOB DATE;

El comando ALTER anterior agregará la columna 'DOB' a la tabla existente 'EMPLEADO'. Aquí la columna 'DOB' tendrá un valor nulo para cada fila en la tabla existente.

Podemos ver el resultado usando la siguiente declaración:

Select * from EMPLOYEE;

CARNÉ DE IDENTIDADNOMBREAÑOSSALARIOFecha de nacimiento
134Sonal2423000.00nulo
145Nikhil2728990.00nulo
167Soham2625000.00nulo
234Yash3235000.00nulo
189Ritu2529000.00nulo
190Rajesh2829000.00nulo

Agregar una columna con el valor predeterminado

Supongamos que los empleados se han unido el mismo día, por lo que la columna Fecha de unión puede tener el mismo valor predeterminado para todos los empleados.

ALTER TABLE EMPLOYEE ADD COLUMN DOJ DATE DEFAULT '1990-08-09';

La declaración ALTER anterior agregará la columna 'DOJ' con un valor predeterminado de '1990-08-09' a la tabla EMPLEADO. Podemos ver el resultado del comando anterior usando la siguiente declaración:

Select * from EMPLOYEE;

CARNÉ DE IDENTIDADNOMBREAÑOSSALARIODOJ
134Sonal2423000.001990-08-09
145Nikhil2728990.001990-08-09
167Soham2625000.001990-08-09
234Yash3235000.001990-08-09
189Ritu2529000.001990-08-09
190Rajesh2829000.001990-08-09

Renombrar una columna existente

Mediante el uso del siguiente comando, podemos cambiar el nombre de la columna 'ID' de la tabla 'EMPLEADO' existente a 'EMP_ID'.

ALTER TABLE EMPLOYEE rename ID to EMP_ID;

Podemos ver el resultado del comando anterior mediante la siguiente declaración:

Select * from EMPLOYEE;

EMP_IDNOMBREAÑOSSALARIODOJ
134Sonal2423000.001990-08-09
145Nikhil2728990.001990-08-09
167Soham2625000.001990-08-09
234Yash3235000.001990-08-09
189Ritu2529000.001990-08-09
190Rajesh2829000.001990-08-09

Descartar una columna de la tabla existente

ALTER TABLE EMPLOYEE DROP COLUMN DOJ;

El comando anterior eliminará la columna 'DOJ' de la tabla 'EMPLEADO'.

Podemos ver los resultados mediante la siguiente declaración:

Select * from EMPLOYEE;

EMP_IDNOMBREAÑOSSALARIO
134Sonal2423000.00
145Nikhil2728990.00
167Soham2625000.00
234Yash3235000.00
189Ritu2529000.00
190Rajesh2829000.00

Agregar restricción NOT NULL a una columna

Aquí la tabla 'EMPLEADO' ya está creada y si queremos agregar una restricción NOT NULL a la columna 'SALARIO', entonces podemos hacerlo como se muestra a continuación.

ALTER TABLE EMPLOYEE MODIFY SALARY DECIMAL(18, 2) NOT NULL;

Modificar el tipo de datos de una columna

La siguiente declaración se puede utilizar para modificar el tipo de datos de una columna existente de la siguiente manera:

ALTER TABLE EMPLOYEE MODIFY NAME CHAR(50);

Ventajas

A continuación se presentan las ventajas de usar el comando Alter:

  • El comando Alter es muy útil cuando queremos modificar la base de datos o las tablas contenidas en una base de datos.
  • Con la ayuda del comando Alter, se pueden hacer muchas modificaciones si se necesita algún cambio en el diseño de la base de datos sin alterar la base de datos existente u objetos relacionados con ella.
  • Podemos agregar restricciones a una columna incluso después de crear la tabla.

Conclusión

La necesidad del comando ALTER es útil cuando queremos cambiar o modificar la base de datos existente si surge algún requisito comercial después de que se complete el diseño. Podemos modificar fácilmente la base de datos o las tablas que contiene mediante el comando Alterar. Pero los desarrolladores deben verificar con los permisos ALTER provistos para los usuarios mientras usan el comando Alter para las tablas de la base de datos. Además, cuando usamos el comando Alter para agregar la clave primaria, debemos tener en cuenta que la columna de la clave primaria ya debe haberse creado, es decir, cuando la tabla se creó por primera vez para no contener valores nulos.

Artículos recomendados

Esta es una guía para SQL Alter Command. Aquí discutimos cómo usar SQL agregando los comandos Alter con ejemplos y ventajas. También puede consultar el siguiente artículo para obtener más información:

  1. Herramientas de administración de SQL
  2. Funciones de cadena T-SQL
  3. ¿Qué es la inyección SQL?
  4. ¿Cómo conectar la base de datos a MySQL?