Tout d'abord, réfléchissez bien à la raison qui vous pousse
à changer l'ordre des colonnes. Le but de SQL est de séparer
l'application du stockage des données. Vous devez toujours
spécifier l'ordre dans lequel vous devez lire les données. La
première commande retourne les valeurs dans l'ordre
col_name1
, col_name2
,
col_name3
, alors que la seconde utilise
l'ordre col_name1
,
col_name3
, col_name2
:
mysql>SELECT col_name1, col_name2, col_name3 FROM tbl_name;
mysql>SELECT col_name1, col_name3, col_name2 FROM tbl_name;
Si vous décidez de changer l'ordre des colonnes dans une table, vous pouvez le faire comme ceci :
Créez une nouvelle table avec les colonnes dans le nouvel ordre.
Exécutez cette commande :
mysql>INSERT INTO new_table
->SELECT columns-in-new-order FROM old_table;
Effacez ou renommez la table old_table
.
Renommez la nouvelle table avec l'ancien nom.
mysql> ALTER TABLE new_table RENAME old_table;
SELECT *
est parfait pour tester les
requêtes. Mais, dans une application, vous me devriez
jamais utiliser SELECT *
et lire les colonnes en vous basant sur l'ordre retourné par la
table. L'ordre et la position des colonnes peut changer. Un
simple modification de la structure de la table vous conduira à
une erreur.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.