Tabelle / Objekt umbenennen
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;Für Tabellen/Views/Sequences wird RENAME oder ALTER ... RENAME TO verwendet. Abhängige Objekte (Views, Synonyme) können ungültig werden und müssen neu kompiliert werden.
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 funktioniert für die meisten Objekttypen. Foreign-Key- und Indexreferenzen bleiben auch bei Namensänderung automatisch erhalten (OID-basiert).
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 ist atomar und kann mehrere Tabellen in einem Statement verschieben. Zum Umbenennen von Spalten ab 8.0 RENAME COLUMN verwenden; davor muss CHANGE verwendet und auch der Typ angegeben werden.
SQL Server
-- Table
EXEC sp_rename 'dbo.old_name', 'new_name';
-- Column
EXEC sp_rename 'dbo.customer.name', 'full_name', 'COLUMN';SQL Server hat kein RENAME TABLE-Statement; es wird die Systemprozedur sp_rename verwendet. Das Schemapräfix wird im Tabellennamen angegeben, nicht im neuen Namen. Abhängige Views/Prozeduren müssen manuell angepasst werden.
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 ändert den Collection-Namen. Zum Umbenennen eines Felds den Operator $rename mit updateMany verwenden. Sharded Collections lassen sich ab 5.0 umbenennen; ältere Versionen unterstützen das nicht.
Redis
# Rename a key
RENAME old_key new_key
# Without overwriting if the target exists
RENAMENX old_key new_keyRENAME benennt den Key um; existiert das Ziel bereits, wird es überschrieben. RENAMENX funktioniert nur, wenn das Ziel nicht existiert. Existiert der Quell-Key nicht, wird ein Fehler zurückgegeben.
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" } } ] }Einen Befehl zum Umbenennen von Indizes gibt es nicht. Mit _reindex in den neuen Namen umindizieren und den alten löschen. Empfohlen wird der Betrieb hinter einem stabilen Alias, damit die Anwendung von Indexnamen unabhängig bleibt.