© Éditions Eyrolles
69
chapitre n° 3
Évolution d’un schéma
Renommer des colonnes
Il faut utiliser l’option CHANGE de l’instruction ALTER TABLE pour renommer une colonne
existante. Le nouveau nom de colonne ne doit pas être déjà utilisé dans la table. Le type (avec
une éventuelle contrainte) doit être reprécisé. La position de la colonne peut aussi être modifiée en même temps. La syntaxe générale de cette option est la suivante :
ALTER TABLE [ nomBase ]. nomTable CHANGE [COLUMN] ancienNom
nouveauNom typeMySQL [NOT NULL | NULL] [DEFAULT valeur ]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'chaine' ] [REFERENCES ...]
[FIRST|AFTER nomColonne ];
L’instruction suivante permet de renommer la colonne ville en adresse en la positionnant
avant la colonne compa :
ALTER TABLE Pilote CHANGE ville adresse VARCHAR(30) AFTER nbHVol;
Modifier le type des colonnes
L’option MODIFY de l’instruction ALTER TABLE modifie le type d’une colonne existante
sans pour autant la renommer. La syntaxe générale de cette instruction est la suivante, les
options sont les mêmes que pour CHANGE :
ALTER TABLE [nomBase].nomTable MODIFY [COLUMN] nomColonneAmodifier
typeMySQL [NOT NULL | NULL] [DEFAULT valeur]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'chaine'] [REFERENCES ...]
[FIRST|AFTER nomColonne];
Il est possible d’augmenter la taille d’une colonne numérique (largeur ou précision) – ou d’une
chaîne de caractères (CHAR et VARCHAR) – ou de la diminuer si toutes les données présentes
dans la colonne peuvent s’adapter à la nouvelle taille.
Attention à ne pas réduire les colonnes indexées à une taille inférieure à celle déclarée lors de
la création de l’index.
Les contraintes en ligne peuvent être aussi modifiées par cette instruction. Une fois la colonne
changée, les nouvelles contraintes s’appliqueront aux mises à jour ultérieures de la table, et les
données présentes devront toutes vérifier cette nouvelle contrainte.
Précédent

- 91/418

Suivant