Database
 sql >> Base de Dados >  >> RDS >> Database

Como renomear uma coluna no SQL


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';