То же самое на непредсказуемый заказ. Если вы хотите, чтобы строки были в определенном порядке, это то, для чего предназначен ORDER BY. Чтобы быть скупым, ваш вопрос похож на вопрос: «Как я могу повернуть машину влево, не используя руль?» Даже если есть какой-то хитрый способ сделать это, какой смысл?
Порядок столбцов RE: MySQL имеет расширение к стандарту SQL, которое позволяет изменить порядок столбцов в таблице. Я верю, что это
ALTER TABLE mytable MODIFY mycolumn varchar(50) AFTER othercolumn;
Это переместит столбец "mycolumn" после "othercolumn". Я думаю, что вы должны указать тип данных - varchar (50) в этом примере, но, конечно, это может быть что угодно - даже если это не изменилось.
Чтобы сделать столбец первым, вы говорите «ПЕРВЫЙ», а не «ПОСЛЕ».
Обратите внимание, что это НЕ стандартный SQL. Большинство механизмов SQL не позволяют указывать порядок столбцов. Некоторые пуристы настаивают на том, что не существует такой вещи, как порядок столбцов, что строка представляет собой набор столбцов без определенного порядка. В реальной жизни, однако, ядро базы данных должно хранить их в НЕКОТОРОМ порядке, и я никогда не видел базы данных, где «select *» не возвращал столбцы в согласованном порядке. Лично я часто пишу общий код, который строит экраны ввода данных из схемы и перечисляет поля в порядке, в котором они возвращаются из «select *». Мне нравится MySQL для такого рода программ, потому что он позволяет мне указывать порядок столбцов в базе данных, а не разбивать его по слоям где-либо еще или перестраивать таблицу, чтобы получить желаемый порядок.
Я не знаком с SQL Pro, но большинство инструментов будут учитывать порядок столбцов СУБД.