Тази статия предоставя бърз пример за преименуване на таблица в SQL.
Повечето от основните RDBMS ви позволяват да преименувате колона с ALTER TABLE
изявление. SQL Server е изключение.
Пример (повечето RDBMS)
Повечето от основните RDBMS ви позволяват да преименувате колона, както следва.
Синтаксис:
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
Пример:
ALTER TABLE Products
RENAME COLUMN ProdDesc TO ProductDescription;
Тук преименувахме колона в Products
таблица от ProdDesc
към ProductDescription
.
Това трябва да работи в RDBMS, включително PostgreSQL, Oracle, SQLite, MySQL (започвайки с 8.0) и MariaDB (започвайки с 10.5.2+).
По-ранни версии на MySQL и MariaDB
MySQL и MariaDB не винаги поддържаха RENAME COLUMN
синтаксис.
В MySQL преди версия 8.0 и MariaDB преди 10.5.2+, ще трябва да използвате CHANGE COLUMN
вместо синтаксис.
Синтаксис:
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
Пример:
ALTER TABLE Products
CHANGE COLUMN ProdDesc ProductDescription varchar(500);
Имайте предвид, че този синтаксис изисква да посочите повторно дефиницията на колоната, дори ако само я преименувате.
Този синтаксис все още се поддържа в по-късни версии на MySQL и MariaDB, въпреки че вече имат и предишния RENAME COLUMN
синтаксис, който го улеснява.
SQL сървър
В SQL Server ще трябва да използвате sp_rename
съхранена процедура за преименуване на колона.
Синтаксис:
sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';
Освен това имате възможност да предоставите имената на параметрите:
sp_rename
[ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
Пример:
EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';
Или:
EXEC sp_rename
@objname = 'dbo.Products.ProdDesc',
@newname = 'ProductDescription',
@objtype = 'COLUMN';