sql >> Databasteknik >  >> RDS >> Database

Hur man byter namn på en kolumn i SQL

Den här artikeln ger ett snabbt exempel på att byta namn på en tabell i SQL.

De flesta av de stora RDBMS:erna låter dig byta namn på en kolumn med ALTER TABLE påstående. SQL Server är ett undantag.

Exempel (de flesta RDBMS)

De flesta av de stora RDBMS:erna låter dig byta namn på en kolumn enligt följande.

Syntax:

ALTER TABLE table_name 
RENAME COLUMN old_column_name TO new_column_name;

Exempel:

ALTER TABLE Products 
RENAME COLUMN ProdDesc TO ProductDescription;

Här döpte vi om en kolumn i Products tabell från ProdDesc till ProductDescription .

Det borde fungera i RDBMS inklusive PostgreSQL, Oracle, SQLite, MySQL (börjar med 8.0) och MariaDB (börjar med 10.5.2+).

Tidigare versioner av MySQL och MariaDB

MySQL och MariaDB stödde inte alltid RENAME COLUMN syntax.

I MySQL före version 8.0 och MariaDB före 10.5.2+ måste du använda CHANGE COLUMN syntax istället.

Syntax:

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;

Exempel:

ALTER TABLE Products 
CHANGE COLUMN ProdDesc ProductDescription varchar(500);

Observera att den här syntaxen kräver att du specificerar kolumndefinitionen på nytt även om du bara byter namn på den.

Denna syntax stöds fortfarande i senare versioner av MySQL och MariaDB, även om de nu också har den tidigare RENAME COLUMN syntax som gör det enklare.

SQL-server

I SQL Server måste du använda sp_rename lagrad procedur för att byta namn på en kolumn.

Syntax:

sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';

Du har också möjlighet att ange parameternamnen:

sp_rename 
    [ @objname = ] 'object_name' , 
    [ @newname = ] 'new_name'   
    [ , [ @objtype = ] 'object_type' ]

Exempel:

EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';

Eller:

EXEC sp_rename 
    @objname = 'dbo.Products.ProdDesc', 
    @newname = 'ProductDescription', 
    @objtype = 'COLUMN';


  1. SQL Server pivot kontra multipel koppling

  2. Hur man väljer ett kolumnnamn med ett mellanslag i MySQL

  3. Hur genererar man ett unikt ID i MySQL?

  4. SQL Server - Dynamisk PIVOT-tabell - SQL-injektion