Modification de tables
Introduction
L'instruction ALTER TABLE permet de modifier la définition d'une table (colonnes ou contraintes) préalablement créée.
Cette commande absente de SQL-89 est normalisée dans SQL-92
Syntaxe : Ajout de colonne
ALTER TABLE <nom de table>
ADD <définition de colonne>
Syntaxe : Suppression de colonne
ALTER TABLE <nom de table>
DROP <nom de colonne>
Syntaxe : Ajout de contrainte
ALTER TABLE <nom de table>
ADD <définition de contrainte de table>
Remarque : Modification de table sans donnée sans la commande ALTER
Pour modifier une table ne contenant pas encore de donnée, la commande ALTER n'est pas indispensable, l'on peut supprimer la table à modifier (DROP) et la recréer telle qu'on la souhaite. Notons néanmoins que si la table est référencée par des clauses FOREIGN KEY, cette suppression sera plus compliquée, car il faudra également supprimer et recréer les tables référençantes (ce qui ce complique encore si ces dernières contiennent des données).
Remarque : Modification de table avec données sans la commande ALTER
Pour modifier une table contenant des données, la commande ALTER n'est pas indispensable. On peut en effet :
Copier les données dans une table temporaire de même schéma que la table à modifier
Supprimer et recréer la table à modifier avec le nouveau schéma
Copier les données depuis la table temporaire vers la table modifiée