Cuando trabajamos con bases de datos, es común que con el tiempo los nombres de las tablas o columnas dejen de ser adecuados. Quizás al inicio se eligió un nombre poco descriptivo, en otro idioma o demasiado corto, y ahora es necesario ajustarlo para que tenga más sentido.
En estos casos no hace falta borrar la tabla ni volver a crearla: podemos usar el comando ALTER TABLE RENAME, que nos permite cambiar nombres tanto de tablas como de columnas de forma sencilla.
En este artículo vas a aprender:
- Cómo renombrar tablas en SQL.
- Cómo renombrar columnas.
- Diferencias entre motores de base de datos.
- Ejemplos prácticos paso a paso.
- Errores comunes y buenas prácticas.
1) Recordatorio: ¿qué es ALTER TABLE?
El comando ALTER TABLE permite modificar la estructura de una tabla existente. Con él podemos:
- Agregar o eliminar columnas.
- Cambiar tipos de datos.
- Añadir o quitar restricciones.
- Renombrar tablas y columnas.
👉 Es el «cuchillo suizo» de la evolución de esquemas en SQL.
🔗 Lectura recomendada: ALTER TABLE
2) Sintaxis general para renombrar
🔹 Renombrar una tabla
ALTER TABLE nombre_actual
RENAME TO nuevo_nombre;
🔹 Renombrar una columna
La sintaxis varía según el motor de base de datos:
- MySQL / MariaDB
ALTER TABLE nombre_tabla
CHANGE COLUMN columna_actual nueva_columna tipo_de_dato;
- PostgreSQL
ALTER TABLE nombre_tabla
RENAME COLUMN columna_actual TO nueva_columna;
- SQL Server
EXEC sp_rename 'nombre_tabla.columna_actual', 'nueva_columna', 'COLUMN';
- Oracle
ALTER TABLE nombre_tabla
RENAME COLUMN columna_actual TO nueva_columna;
3) Ejemplo práctico: renombrar una tabla
Supongamos que tenemos esta tabla:
CREATE TABLE clientes2024 (
id INT PRIMARY KEY,
nombre VARCHAR(100),
email VARCHAR(255)
);
Decidimos que el nombre clientes2024 no es adecuado porque la tabla se usará más allá de ese año. Queremos llamarla simplemente clientes.
Solución en SQL estándar:
ALTER TABLE clientes2024
RENAME TO clientes;
Ahora la tabla se llama clientes.
4) Ejemplo práctico: renombrar una columna
La tabla clientes tiene estas columnas:
| id | nombre | |
|---|---|---|
| 1 | Ana | ana@mail.com |
| 2 | Bruno | bruno@mail.com |
Supongamos que queremos que nombre se llame nombre_completo porque es más descriptivo.
En PostgreSQL / Oracle:
ALTER TABLE clientes
RENAME COLUMN nombre TO nombre_completo;
En MySQL:
ALTER TABLE clientes
CHANGE COLUMN nombre nombre_completo VARCHAR(100);
En SQL Server:
EXEC sp_rename 'clientes.nombre', 'nombre_completo', 'COLUMN';
👉 El resultado final será una tabla con la columna renombrada:
| id | nombre_completo | |
|---|---|---|
| 1 | Ana | ana@mail.com |
| 2 | Bruno | bruno@mail.com |
5) Renombrar múltiples columnas
No existe una sintaxis única para cambiar varias columnas a la vez:
- En MySQL se deben hacer varias sentencias
CHANGE COLUMN. - En PostgreSQL/Oracle también se deben escribir una instrucción por cada columna.
Ejemplo en PostgreSQL:
ALTER TABLE clientes
RENAME COLUMN email TO correo;
ALTER TABLE clientes
RENAME COLUMN nombre_completo TO nombre;
6) Errores comunes al renombrar
| Error | Causa | Solución |
|---|---|---|
| ❌ Intentar renombrar a un nombre que ya existe | Ya hay otra columna con ese nombre | Elige un nombre único |
❌ Olvidar el tipo de dato en MySQL con CHANGE COLUMN | En MySQL es obligatorio especificar el tipo de dato | Incluye el tipo en la definición |
| ❌ Cambiar nombres sin actualizar consultas | Las aplicaciones o reportes pueden fallar | Actualiza el código dependiente |
7) Cuándo conviene renombrar tablas o columnas
- Cuando los nombres son poco descriptivos (ej.
t1,c2). - Para mantener un estándar de nombres en la base de datos.
- Para corregir errores ortográficos o de idioma.
- En procesos de migración de datos donde se adaptan nombres antiguos a nuevos.
8) Buenas prácticas
- 📋 Documentar los cambios: registra qué se renombró y por qué.
- 🔍 Verificar dependencias: revisa vistas, procedimientos almacenados, triggers y aplicaciones que dependan de ese nombre.
- 🧪 Probar en un entorno de desarrollo antes de aplicar en producción.
- ⏳ Evitar cambios innecesarios: renombrar por estética puede causar más problemas que beneficios.
9) Comparación de operaciones ALTER TABLE
| Operación | Acción | Ejemplo |
|---|---|---|
ADD COLUMN | Añadir columna nueva | ALTER TABLE clientes ADD COLUMN telefono VARCHAR(30); |
MODIFY COLUMN | Cambiar propiedades | ALTER TABLE clientes MODIFY COLUMN email VARCHAR(300); |
DROP COLUMN | Eliminar columna | ALTER TABLE clientes DROP COLUMN telefono; |
RENAME COLUMN | Renombrar columna | ALTER TABLE clientes RENAME COLUMN nombre TO nombre_completo; |
RENAME TO | Renombrar tabla | ALTER TABLE clientes2024 RENAME TO clientes; |
10) Cierre
Renombrar tablas y columnas en SQL es una tarea sencilla pero poderosa gracias a ALTER TABLE RENAME.
- Usa
RENAME TOpara tablas. - Usa
RENAME COLUMNoCHANGE COLUMN(según el motor) para columnas. - Ten cuidado con dependencias y aplicaciones que usen esos nombres.
Si aplicás buenas prácticas, podrás mantener tus bases de datos claras, consistentes y fáciles de mantener a largo plazo.
📚 Artículos relacionados
- Cómo modificar la estructura de una tabla en SQL con ALTER TABLE paso a paso
Guía completa para principiantes donde aprenderás a usar ALTER TABLE para agregar, eliminar o modificar columnas y restricciones de manera segura. - Diferencia entre ALTER TABLE ADD COLUMN y ALTER TABLE MODIFY COLUMN en SQL
Explicación clara y práctica sobre las diferencias entre agregar nuevas columnas y modificar columnas existentes, con ejemplos en distintos motores de bases de datos. - Cómo usar ALTER TABLE DROP COLUMN en SQL con ejemplos prácticos
Ejemplos detallados que muestran cómo eliminar columnas de una tabla, sus efectos en los datos existentes y las buenas prácticas para evitar errores. - Impacto en el rendimiento al usar ALTER TABLE en tablas grandes
Explicación del impacto en el rendimiento de ALTER TABLE cuando se aplica en tablas con millones de registros, y estrategias para minimizar demoras. - ALTER TABLE en SQL con restricciones PRIMARY KEY y FOREIGN KEY explicados
Guía práctica para agregar o eliminar claves primarias y foráneas con ALTER TABLE, con ejemplos de integridad referencial y buenas prácticas de diseño.
