Este artigo fornece um exemplo rápido de renomeação de uma tabela no SQL.
A maioria dos principais RDBMSs permite renomear uma coluna com o
ALTER TABLE
demonstração. O SQL Server é uma exceção. Exemplo (a maioria dos RDBMSs)
A maioria dos principais RDBMSs permite renomear uma coluna da seguinte maneira.
Sintaxe:
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
Exemplo:
ALTER TABLE Products
RENAME COLUMN ProdDesc TO ProductDescription;
Aqui, renomeamos uma coluna em
Products
tabela de ProdDesc
para ProductDescription
. Isso deve funcionar em RDBMSs, incluindo PostgreSQL, Oracle, SQLite, MySQL (começando com 8.0) e MariaDB (começando com 10.5.2+).
Versões anteriores do MySQL e MariaDB
MySQL e MariaDB nem sempre suportam a
RENAME COLUMN
sintaxe. No MySQL anterior à versão 8.0 e no MariaDB anterior à versão 10.5.2+, você precisará usar o
CHANGE COLUMN
sintaxe em vez disso. Sintaxe:
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
Exemplo:
ALTER TABLE Products
CHANGE COLUMN ProdDesc ProductDescription varchar(500);
Observe que essa sintaxe exige que você especifique novamente a definição da coluna, mesmo que esteja apenas renomeando-a.
Esta sintaxe ainda é suportada em versões posteriores do MySQL e MariaDB, embora agora também tenham a anterior
RENAME COLUMN
sintaxe que facilita. SQL Server
No SQL Server, você precisará usar o
sp_rename
procedimento armazenado para renomear uma coluna. Sintaxe:
sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';
Você também tem a opção de fornecer os nomes dos parâmetros:
sp_rename
[ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
Exemplo:
EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';
Ou:
EXEC sp_rename
@objname = 'dbo.Products.ProdDesc',
@newname = 'ProductDescription',
@objtype = 'COLUMN';