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

SyntaxeAjout de colonne

1
ALTER TABLE <nom de table> 
2
ADD <définition de colonne>

SyntaxeSuppression de colonne

1
ALTER TABLE <nom de table> 
2
DROP <nom de colonne>

SyntaxeAjout de contrainte

1
ALTER TABLE <nom de table> 
2
ADD <définition de contrainte de table>

RemarqueModification 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).

RemarqueModification 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 :

  1. Copier les données dans une table temporaire de même schéma que la table à modifier

  2. Supprimer et recréer la table à modifier avec le nouveau schéma

  3. Copier les données depuis la table temporaire vers la table modifiée