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