Questo articolo fornisce un rapido esempio di ridenominazione di una tabella in SQL.
La maggior parte dei principali RDBMS consente di rinominare una colonna con ALTER TABLE
dichiarazione. SQL Server è un'eccezione.
Esempio (la maggior parte degli RDBMS)
La maggior parte dei principali RDBMS ti consente di rinominare una colonna come segue.
Sintassi:
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
Esempio:
ALTER TABLE Products
RENAME COLUMN ProdDesc TO ProductDescription;
Qui, abbiamo rinominato una colonna in Products
tabella da ProdDesc
a ProductDescription
.
Dovrebbe funzionare in RDBMS inclusi PostgreSQL, Oracle, SQLite, MySQL (a partire da 8.0) e MariaDB (a partire da 10.5.2+).
Versioni precedenti di MySQL e MariaDB
MySQL e MariaDB non hanno sempre supportato RENAME COLUMN
sintassi.
In MySQL prima della versione 8.0 e MariaDB prima della 10.5.2+, dovrai usare CHANGE COLUMN
sintassi invece.
Sintassi:
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
Esempio:
ALTER TABLE Products
CHANGE COLUMN ProdDesc ProductDescription varchar(500);
Tieni presente che questa sintassi richiede di ridefinire la definizione della colonna anche se la stai solo rinominando.
Questa sintassi è ancora supportata nelle versioni successive di MySQL e MariaDB, sebbene ora abbiano anche la precedente RENAME COLUMN
sintassi che lo rende più facile.
SQL Server
In SQL Server, dovrai utilizzare sp_rename
stored procedure per rinominare una colonna.
Sintassi:
sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';
Hai anche la possibilità di fornire i nomi dei parametri:
sp_rename
[ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
Esempio:
EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';
Oppure:
EXEC sp_rename
@objname = 'dbo.Products.ProdDesc',
@newname = 'ProductDescription',
@objtype = 'COLUMN';