En SQL, a menudo se requieren modificaciones estructurales en una base de datos, como cambiar el nombre de tablas o columnas, agregar nuevas columnas o cambiar tipos de datos. El comando ALTER TABLE permite que estos cambios se realicen de manera eficiente sin afectar los datos existentes. Es un comando esencial para gestionar y actualizar esquemas de bases de datos a medida que evolucionan los requisitos de la aplicación.
Ejemplo: Primero, creemos una tabla de estudiantes de muestra para demostrar el comando ALTER:
Consulta:
ALTER TABLE students
RENAME TO learners;
Producción:
Sintaxis del comando ALTER
Estos son los formatos de sintaxis comunes para usar el comando ALTER TABLE:
1. Cambiar el nombre de una tabla
ALTER TABLE nombre_tabla
RENOMBRAR A new_table_name;
2. Cambiar el nombre de una columna
ALTER TABLE nombre_tabla
RENOMBRAR COLUMNA nombre_columna_antigua A nombre_columna_nueva;
3. Agregar una nueva columna
ALTER TABLE nombre_tabla
AGREGAR tipo de datos nombre_columna;java inicializar matriz
ALTER TABLE nombre_tabla
MODIFICAR COLUMNA nombre_columna nuevo_tipo_datos;
Ejemplos de comando ALTER en SQL
A continuación se muestran ejemplos prácticos que nos ayudarán a comprender cómo utilizar el comando ALTER de forma eficaz en diversos escenarios. Estos ejemplos incluyen cambiar el nombre de tablas o columnas, agregar nuevas columnas o cambiando de columna tipos de datos.
1. Cree una tabla de muestra
Primero creemos un estudiante de muestra. tabla para demostrar el ALTER dominio:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Insertemos algunos datos y luego realicemos la operación ALTER para comprender mejor el comando alterar.
INSERT INTO Student (id name age email phone)
VALUES
(1 'Amit' 20 '[email protected]' '9999999999')
(2 'Rahul' 22 '[email protected]' '8888888888')
(3 'Priya' 21 '[email protected]' '7777777777')
(4 'Sonia' 23 '[email protected]' '6666666666')
(5 'Kiran' 19 '[email protected]' '5555555555');
Producción
Ejemplo 1: Cambiar el nombre de una columna
Cambie el nombre de la columna a FIRST_NAME en la tabla Estudiante. Para cambiar el nombre de la columna de la tabla existente, debemos usar la palabra clave Columna antes de escribir el nombre de la columna existente para cambiar.
Sintaxis
ALTER TABLA Estudiante RENOMBRAR COLUMNA Columna_NOMBRE A PRIMER_NOMBRE;
Consulta:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Producción
ProducciónEjemplo 2: Cambiar el nombre de una tabla
En este ejemplo queremos cambiar el nombre de la tabla deStudentaStudent_Detailsusando elALTER TABLEcomando que hace que el nombre sea más descriptivo y relevante para su contenido.
Consulta:
ALTER TABLE Student RENAME TO Student_Details;Producción
Ejemplo 3: agregar una nueva columna
Para agregar una nueva columna a la tabla existente primero debemos seleccionar la tabla con el comando ALTER TABLE nombre_tabla y luego escribiremos el nombre de la nueva columna y su tipo de datos con ADD nombre_columna tipo de datos. Echemos un vistazo a continuación para comprenderlo mejor.
Sintaxis
ALTER TABLE nombre_tabla
AGREGAR tipo de datos nombre_columna;java leyendo csv
Consulta:
ALTER TABLE Student ADD marks INT;Producción
En el ejemplo elphoneLa columna se actualiza desdeVARCHAR(20)aBIGINT almacenar datos numéricos de manera más eficiente y garantizar Integridad de datos para números de teléfono sin caracteres innecesarios.
Sintaxis
ALTER TABLE nombre_tabla
MODIFICAR COLUMNA nombre_columna nuevo_tipo_datos;
Consulta:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Producción
| identificación | nombre | edad | correo electrónico | teléfono |
|---|---|---|---|---|
| 1 | Qué | 20 | [email protected] | 9999999999 |
| 2 | Raúl | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | sonia | 23 | [email protected] | 6666666666 |
| 5 | la llamada | 19 | [email protected] | 5555555555 |
Explicación :
- La columna del teléfono ahora tiene un tipo de datos BIGINT adecuado para almacenar valores numéricos grandes.
- Los datos existentes permanecen sin cambios pero se almacenan como números enteros en lugar de cuerdas.
Casos de uso adicionales del comando ALTER
1. Eliminar una columna : En algunos casos, es posible que necesitemos eliminar una columna. Para hacer eso puedes usar la sintaxis DROP COLUMN:
cadena ti int
ALTER TABLE Detalles_estudiante
marcas de COLUMNA DE SOLTAR;
Este comando elimina la columna de marcas por completo de la tabla.
2. Cambiar el valor predeterminado de una columna : También podemos modificar el valor predeterminado de una columna usando la cláusula SET DEFAULT:
ALTER TABLE Detalles_estudiante
ALTER COLUMNA edad ESTABLECER POR DEFECTO 18;
3. Cambiar el nombre de una tabla o columna en diferentes bases de datos : Tenga en cuenta que la sintaxis SQL puede variar entre diferentes sistemas de bases de datos. Así es como cambiaríamos el nombre de una tabla o columna en MySQL MariaDB y Oráculo :
- MySQL/MariaDB : La sintaxis para cambiar el nombre de una columna es similar, pero también debe usar el comando CAMBIAR COLUMNA para cambiar el nombre de una columna:
ALTER TABLA Estudiante
CAMBIAR COLUMNA nombre_columna_antigua nombre_columna_nueva tipo de datos;
- Oráculo : Oracle admite la sintaxis RENAME COLUMN pero requiere una sintaxis diferente para cambiar el nombre de una tabla:
Crear cuestionarioALTER TABLA Estudiante RENOMBRAR COLUMNA nombre_columna_antigua A nombre_columna_nueva;