18.19 Comment changer l'ordre des colonnes dans une table

Un des points forts SQL est de dissocier l'application du format de stockage. Il est toujours possible de spécifier l'ordre dans lequel vous souhaitez lire les informations.

SELECT nom_colonne1, nom_colonne2, nom_colonne3 FROM nom_table;

Retournera les colonnes dans l'ordre order nom_colonne1, nom_colonne2, nom_colonne3, tandis que:

SELECT nom_colonne1, nom_colonne3, nom_colonne2 FROM nom_table;

les retournera dans l'ordre nom_colonne1, nom_colonne3, nom_colonne2.

Il est préférable de ne JAMAIS lire les colonnes en fonction de leur position, surtout dans un SELECT *, car l'ordre des colonnes ne peut jamais être garanti. Il suffit d'une modification dans la base de données pour que votre application n'ait plus de sens.

Pour changer l'ordre des colonnes, vous pouvez suivre la méthode suivante :

  1. Créer une nouvelle table, avec l'ordre des colonnes désiré
  2. Exécutez INSERT INTO new_table SELECT fields-in-new_table-order FROM old_table.
  3. Effacez ou renommez old_table
  4. ALTER TABLE new_table RENAME old_table