Cet article fournit un exemple rapide pour renommer une table en SQL.
La plupart des principaux SGBDR vous permettent de renommer une colonne avec le ALTER TABLE
déclaration. SQL Server est une exception.
Exemple (la plupart des SGBDR)
La plupart des principaux SGBDR vous permettent de renommer une colonne comme suit.
Syntaxe :
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
Exemple :
ALTER TABLE Products
RENAME COLUMN ProdDesc TO ProductDescription;
Ici, nous avons renommé une colonne dans les Products
table de ProdDesc
à ProductDescription
.
Cela devrait fonctionner dans les SGBDR, y compris PostgreSQL, Oracle, SQLite, MySQL (à partir de 8.0) et MariaDB (à partir de 10.5.2+).
Versions antérieures de MySQL et MariaDB
MySQL et MariaDB ne supportaient pas toujours le RENAME COLUMN
syntaxe.
Dans MySQL avant la version 8.0 et MariaDB avant la version 10.5.2+, vous devrez utiliser le CHANGE COLUMN
syntaxe à la place.
Syntaxe :
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name datatype;
Exemple :
ALTER TABLE Products
CHANGE COLUMN ProdDesc ProductDescription varchar(500);
Notez que cette syntaxe nécessite que vous respécifiiez la définition de la colonne même si vous ne faites que la renommer.
Cette syntaxe est toujours prise en charge dans les versions ultérieures de MySQL et MariaDB, bien qu'elles aient désormais également l'ancien RENAME COLUMN
syntaxe qui le rend plus facile.
SQL Server
Dans SQL Server, vous devrez utiliser le sp_rename
procédure stockée pour renommer une colonne.
Syntaxe :
sp_rename 'schema_name.table_name.old_column_name', 'new_column_name', 'COLUMN';
Vous avez également la possibilité de fournir les noms des paramètres :
sp_rename
[ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
Exemple :
EXEC sp_rename 'dbo.Products.ProdDesc', 'ProductDescription', 'COLUMN';
Ou :
EXEC sp_rename
@objname = 'dbo.Products.ProdDesc',
@newname = 'ProductDescription',
@objtype = 'COLUMN';