O ponto principal do MySQL é abstrair a aplicação do formato de armazenamento dos dados. Você sempre deve especificar a ordem na qual você deseja recuperar os dados. Por exemplo:
SELECT nome_coluna1, nome_coluna2, nome_coluna3 FROM nome_tabela;
retornará na ordem nome_coluna1
,
nome_coluna2
,
nome_coluna3
, enquanto:
SELECT nome_coluna1, nome_coluna3, nome_coluna2 FROM nome_tabela;
retornará colunas na ordem nome_coluna1
,
nome_coluna3
,
nome_coluna2
.
Se você quiser alterar a ordem das colunas, você pode fazer o seguinte:
Crie uma nova abela com as colunas na ordem correta.
Execute INSERT INTO tabela_nova SELECT
campos-na-ordem-de-tabela_nova FROM tabela_antiga
.
Delete ou renomeie tabela_antiga
.
ALTER TABLE tabela_nova RENAME
tabela_antiga
.
Em uma aplicação, você nunca
deve usar SELECT *
e recuperar as colunas
baseado em suas posições, pois a ordem e a posição nas quais
as colunas são retornadas não permanecerá a mesma se você
adicionar/mover/deletar colunas. Uma simples alteração na
estrutura de seu banco de dados causaria uma falha em sua
aplicação. É claro que SELECT *
é muito
mais cabível em testes de cosultas.
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.