Este artículo proporciona un ejemplo rápido de cómo cambiar el nombre de una tabla en SQL.
La mayoría de los principales RDBMS le permiten cambiar el nombre de una columna con ALTER TABLE
declaración. SQL Server es una excepción.
Ejemplo (la mayoría de RDBMS)
La mayoría de los principales RDBMS le permiten cambiar el nombre de una columna de la siguiente manera.
Sintaxis:
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
Ejemplo:
ALTER TABLE Products
RENAME COLUMN ProdDesc TO ProductDescription;
Aquí, cambiamos el nombre de una columna en Products
tabla de ProdDesc
a ProductDescription
.
Eso debería funcionar en RDBMS, incluidos PostgreSQL, Oracle, SQLite, MySQL (a partir de 8.0) y MariaDB (a partir de 10.5.2+).
Versiones anteriores de MySQL y MariaDB
MySQL y MariaDB no siempre admitieron RENAME COLUMN
sintaxis.
En MySQL anterior a la versión 8.0 y MariaDB anterior a 10.5.2+, deberá usar CHANGE COLUMN
sintaxis en su lugar.
Sintaxis:
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
Ejemplo:
ALTER TABLE Products
CHANGE COLUMN ProdDesc ProductDescription varchar(500);
Tenga en cuenta que esta sintaxis requiere que vuelva a especificar la definición de la columna incluso si solo le cambia el nombre.
Esta sintaxis todavía se admite en versiones posteriores de MySQL y MariaDB, aunque ahora también tienen el anterior RENAME COLUMN
sintaxis que lo hace más fácil.
Servidor SQL
En SQL Server, deberá usar sp_rename
procedimiento almacenado para cambiar el nombre de una columna.
Sintaxis:
sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';
También tiene la opción de proporcionar los nombres de los parámetros:
sp_rename
[ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
Ejemplo:
EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';
O:
EXEC sp_rename
@objname = 'dbo.Products.ProdDesc',
@newname = 'ProductDescription',
@objtype = 'COLUMN';