Ten artykuł zawiera szybki przykład zmiany nazwy tabeli w SQL.
Większość głównych RDBMS umożliwia zmianę nazwy kolumny za pomocą ALTER TABLE
oświadczenie. SQL Server jest wyjątkiem.
Przykład (większość RDBMS)
Większość głównych RDBMS umożliwia zmianę nazwy kolumny w następujący sposób.
Składnia:
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
Przykład:
ALTER TABLE Products
RENAME COLUMN ProdDesc TO ProductDescription;
Tutaj zmieniliśmy nazwę kolumny w Products
tabela z ProdDesc
do ProductDescription
.
Powinno to działać w RDBMS, w tym w PostgreSQL, Oracle, SQLite, MySQL (od 8.0) i MariaDB (od 10.5.2+).
Wcześniejsze wersje MySQL i MariaDB
MySQL i MariaDB nie zawsze obsługiwały RENAME COLUMN
składnia.
W MySQL starszych niż 8.0 i MariaDB starszych niż 10.5.2, będziesz musiał użyć CHANGE COLUMN
zamiast tego składnia.
Składnia:
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
Przykład:
ALTER TABLE Products
CHANGE COLUMN ProdDesc ProductDescription varchar(500);
Pamiętaj, że ta składnia wymaga ponownego określenia definicji kolumny, nawet jeśli zmieniasz tylko jej nazwę.
Ta składnia jest nadal obsługiwana w późniejszych wersjach MySQL i MariaDB, chociaż teraz mają również poprzednią RENAME COLUMN
składnia, która to ułatwia.
Serwer SQL
W SQL Server będziesz musiał użyć sp_rename
procedura składowana, aby zmienić nazwę kolumny.
Składnia:
sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';
Masz również możliwość podania nazw parametrów:
sp_rename
[ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
Przykład:
EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';
Lub:
EXEC sp_rename
@objname = 'dbo.Products.ProdDesc',
@newname = 'ProductDescription',
@objtype = 'COLUMN';