Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Declaración ALTER TABLE de MySQL

La sentencia `ALTER TABLE` de MySQL se utiliza para modificar la estructura de una tabla existente. Te permite añadir, eliminar o modificar columnas y restricciones de una tabla, lo que la hace versátil para la gestión de esquemas de bases de datos.

Utilización

La sentencia `ALTER TABLE` se emplea cuando necesitas cambiar la estructura de una tabla, garantizando al mismo tiempo la conservación de los datos. Se puede utilizar para renombrar tablas, añadir o eliminar columnas y modificar columnas existentes.


ALTER TABLE table_name
[ADD | DROP | MODIFY | CHANGE | RENAME TO] [COLUMN column_name] [column_definition];

En esta sintaxis, `ALTER TABLE nombre_tabla` especifica la tabla que se va a modificar. Acciones como `ADD`, `DROP` y `MODIFY` se aplican a las columnas, mientras que `RENAME TO` se utiliza para las tablas. Ten en cuenta que `CAMBIAR` se utiliza para cambiar el nombre de una columna.

Ejemplos

1. Añadir una columna


ALTER TABLE employees
ADD COLUMN birthdate DATE;

Este ejemplo añade una nueva columna `birthdate` de tipo `DATE` a la tabla `employees`.

2. Modificar una columna


ALTER TABLE products
MODIFY COLUMN price DECIMAL(10, 2);

Aquí, la columna `precio` de la tabla `productos` se modifica para que tenga un tipo de dato `DECIMAL` con una precisión de 10 y una escala de 2.

3. Cambiar el nombre de una columna


ALTER TABLE employees
CHANGE COLUMN old_name new_name VARCHAR(255);

Este ejemplo cambia el nombre de una columna `nombre_antiguo` por `nombre_nuevo` con un tipo de datos `VARCHAR(255)` en la tabla `empleados`.

4. Cambiar el nombre de una tabla


ALTER TABLE orders
RENAME TO customer_orders;

Este ejemplo cambia el nombre de la tabla `pedidos` a `pedidos_clientes`, lo que puede ser útil para identificar mejor las tablas.

5. Añadir una clave primaria


ALTER TABLE orders
ADD PRIMARY KEY (order_id);

Esto añade una restricción de clave primaria a la columna `order_id` de la tabla `orders`.

6. Eliminación de una clave foránea


ALTER TABLE orders
DROP FOREIGN KEY fk_customer;

Esto elimina la restricción de clave foránea denominada `fk_customer` de la tabla `orders`.

7. Establecer un valor por defecto


ALTER TABLE products
ALTER COLUMN price SET DEFAULT 0.00;

Esto establece el valor por defecto de la columna `precio` en `0,00` en la tabla `productos`.

Consejos y buenas prácticas

  • Garantizar la integridad de los datos. Haz siempre una copia de seguridad de tus datos y prueba las operaciones "ALTER TABLE" en un entorno que no sea de producción, para evitar la pérdida de datos y garantizar la ejecución.
  • Minimiza el tiempo de inactividad. Ten en cuenta que modificar tablas grandes puede bloquear la tabla durante un tiempo considerable; planifica estos cambios durante las horas de menor actividad. Algunas operaciones pueden reconstruir toda la tabla, afectando al rendimiento.
  • Utiliza nombres descriptivos. Cuando añadas columnas, elige nombres claros y descriptivos para mantener la claridad en el esquema de tu base de datos.
  • Consideraciones de compatibilidad. Ten en cuenta los posibles problemas al modificar tablas con restricciones de clave externa, ya que pueden afectar a tablas relacionadas.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis