sql >> Databáze >  >> RDS >> Database

Jak přejmenovat sloupec v SQL

Tento článek poskytuje rychlý příklad přejmenování tabulky v SQL.

Většina hlavních RDBMS vám umožňuje přejmenovat sloupec pomocí ALTER TABLE prohlášení. SQL Server je výjimkou.

Příklad (většina RDBMS)

Většina hlavních RDBMS vám umožňuje přejmenovat sloupec následovně.

Syntaxe:

ALTER TABLE table_name 
RENAME COLUMN old_column_name TO new_column_name;

Příklad:

ALTER TABLE Products 
RENAME COLUMN ProdDesc TO ProductDescription;

Zde jsme přejmenovali sloupec v Products tabulky z ProdDesc na ProductDescription .

To by mělo fungovat v RDBMS včetně PostgreSQL, Oracle, SQLite, MySQL (od 8.0) a MariaDB (od 10.5.2+).

Starší verze MySQL a MariaDB

MySQL a MariaDB ne vždy podporovaly RENAME COLUMN syntax.

V MySQL starší než verze 8.0 a MariaDB starší než 10.5.2+ budete muset použít CHANGE COLUMN místo toho syntaxe.

Syntaxe:

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;

Příklad:

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

Všimněte si, že tato syntaxe vyžaduje, abyste specifikovali definici sloupce, i když jej pouze přejmenováváte.

Tato syntaxe je stále podporována v pozdějších verzích MySQL a MariaDB, i když nyní mají také předchozí RENAME COLUMN syntaxe, která to usnadňuje.

SQL Server

V SQL Serveru budete muset použít sp_rename uložená procedura k přejmenování sloupce.

Syntaxe:

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

Máte také možnost zadat názvy parametrů:

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

Příklad:

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

Nebo:

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


  1. Jak vytvořit tabulku s cizím klíčem v SQL

  2. Přehled metod JOIN v PostgreSQL

  3. Jak jsou data uložena v Oracle?

  4. SQLcl pro přenos dat z Oracle do PostgreSQL nebo YugabyteDB 🅾🐘🚀