Основная идея SQL заключается в том, чтобы разделить приложения и формат хранения данных. Всегда следует указывать порядок извлечения данных, например:
SELECT col_name1, col_name2, col_name3 FROM tbl_name;
возвратит столбцы в порядке col_name1, col_name2, col_name3, тогда как:
SELECT col_name1, col_name3, col_name2 FROM tbl_name;
возвратит столбцы в порядке col_name1, col_name3, col_name2.
В приложения никогда нельзя использовать SELECT * и извлекать столбцы, полагаясь на их позиции, поскольку порядок, в котором возвращаются столбцы, не может быть гарантирован. Простое изменение в базе данных может катастрофически сказаться на поведении приложения.
Если порядок столбцов все-таки требуется изменить, то сделать это можно следующим образом:
Создайте новую таблицу со столбцами в правильном порядке.
Выполните INSERT INTO new_table SELECT поля-в-желаемом-порядке FROM old_table.
Удалите или переименуйте old_table.
ALTER TABLE new_table RENAME old_table.