SQL et RENAME

Publié dans SQL | Marqué avec , ,
Share

Cela fait plusieurs fois que je cherche à renommer une table en ligne de commandes, et plusieurs fois que je re-re-regarde la doc MySQL sur RENAME. Dans l’espoir que ça rentre, et par ne pas avoir à re-re-re-rechercher la prochaine fois, voici comment fonctionne cette commande. L’idée est de renommer la table « chaise » pour l’appeler « chaise_pliante » (hum, original !).
Pour cela, rien de plus simple :

RENAME TABLE chaise TO chaise_pliante;

Pour renommer plusieurs tables à la fois, il suffit de séparer les blocs ancien_nom TO nouveau_nom par une virgule.

RENAME TABLE chaise TO chaise_pliante, tableau TO tableau_pliante;

Mais cette commande est aussi utile pour déplacer une table d’une base de données dans une autre. Pour cela, il faut faire précéder le nom de la table par le nom de la base de données. Donc en résumé, on a :

RENAME TABLE [ancien_nom_db.]ancien_nom_table TO [nouveau_nom_db.]nouveau_nom_table;

A noter que cela fonctionne aussi pour les vues (tant qu’on ne change pas de base de données) et pour les tables temporaires. Et on peut aussi faire cela avec ALTER TABLE :

ALTER TABLE ancien_nom RENAME nouveau_nom;

Bon, avec un peu de chance, je crois que ça va me rester !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *