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