Alter table
Souvent on est amené à modifier le schéma de notre base de données :
suite Ă une Ă©volution dans notre business
suite Ă des constats aprĂšs l'utilisation de la base
etc.
On n'a pas le choix de supprimer la base et recommencer, il faut la modifier.
Il y a plusieurs interventions possibles.
Dans ce chapitre, on démontre un certain nombre d'opérations possibles. Attention, la syntaxe précis peut changer d'un SGBDR à l'autre.
Supprimer une table
On peut supprimer une table avec drop table
:
Si la table contient des références par clé étrangÚre (d'autres tables qui pointent vers cette table), le drop table
ne sera pas autorisé.
Faites attention Ă bien accorder des bons privilĂšges ! La commande drop
devrait toujours ĂȘtre soigneusement accordĂ©e !
Ajouter une colonne
Supprimer une colonne
Si la colonne est une clé étrangÚre (d'autres tables qui pointent vers cette table), le drop
ne sera pas autorisé.
Ajouter une contrainte sur une colonne
Si vous avez déjà des données, et ensuite, vous rajoutez une contrainte, si les données existantes ne respectent pas la nouvelle contrainte, la commande va échouer !
Modifier une clé primaire
Migrations
Souvent il faut implémenter une modification à une base qui implique aussi une correction des données (pour satisfaire la nouvelle contrainte), ou bien l'enlÚvement temporaire d'une contrainte, et puis sa remise aprÚs l'opération.
Un ensemble dâinstructions SQL qui permettent de changer la structure dâune table ou base s'appelle une migration.
Par exemple :
Un ensemble de requĂȘtes des types
UPDATE
afin de rendre les donnĂ©es conforme Ă la nouvelle contrainte qui arriveraEnsuite la requĂȘte de type
ALTER TABLE
pour imposer la contrainte
N'oubliez pas de sauvegarder votre base de données avant d'exécuter votre migration !
DerniĂšre mise Ă jour