Renombrar una tabla / objeto
Oracle
-- Table
ALTER TABLE old_name RENAME TO new_name;
-- or
RENAME old_name TO new_name;
-- Column
ALTER TABLE customer RENAME COLUMN name TO full_name;Para tablas/vistas/secuencias se usa RENAME o ALTER ... RENAME TO. Los objetos dependientes (vistas, sinónimos) pueden quedar inválidos y tener que recompilarse.
PostgreSQL
ALTER TABLE old_name RENAME TO new_name;
ALTER TABLE customer RENAME COLUMN name TO full_name;
ALTER VIEW old_view RENAME TO new_view;ALTER ... RENAME TO funciona para la mayoría de tipos de objeto. Las referencias de claves foráneas e índices se conservan automáticamente aunque cambie el nombre (basado en OID).
MySQL
RENAME TABLE old_name TO new_name;
-- or
ALTER TABLE old_name RENAME TO new_name;
-- Column (8.0+)
ALTER TABLE customer RENAME COLUMN name TO full_name;RENAME TABLE es atómico y puede mover varias tablas en una sola sentencia. Para renombrar columnas use RENAME COLUMN en 8.0+; antes había que usar CHANGE e indicar también el tipo.
SQL Server
-- Table
EXEC sp_rename 'dbo.old_name', 'new_name';
-- Column
EXEC sp_rename 'dbo.customer.name', 'full_name', 'COLUMN';SQL Server no tiene una sentencia RENAME TABLE; se usa el procedimiento de sistema sp_rename. El prefijo de esquema se indica en el nombre de la tabla, pero no en el nombre nuevo. Las vistas/procedimientos dependientes deben actualizarse manualmente.
MongoDB
// Rename a collection
db.old_name.renameCollection("new_name");
// or the admin command
db.adminCommand({ renameCollection: "db.old_name", to: "db.new_name" });renameCollection cambia el nombre de la colección. Para renombrar un campo, use el operador $rename con updateMany. Las colecciones con sharding se pueden renombrar en 5.0+; las versiones anteriores no lo admiten.
Redis
# Rename a key
RENAME old_key new_key
# Without overwriting if the target exists
RENAMENX old_key new_keyRENAME renombra la clave; si el destino ya existe, se sobrescribe. RENAMENX solo funciona si el destino no existe. Se devuelve un error si la clave de origen no existe.
Elasticsearch
# An index cannot be renamed directly; reindex + alias approach
POST _reindex
{ "source": { "index": "old_name" }, "dest": { "index": "new_name" } }
DELETE old_name
# or use an alias for a seamless switch
POST _aliases
{ "actions": [ { "add": { "index": "new_name", "alias": "customer" } } ] }No hay comando para renombrar índices. Reindexe con el nuevo nombre mediante _reindex y elimine el antiguo. Se recomienda trabajar detrás de un alias estable para que la aplicación no dependa de los nombres de índice.