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