A melhor maneira é usar o INFORMATION_SCHEMA banco de dados virtual de metadados. Especificamente o INFORMATION_SCHEMA.COLUMNS tabela...
SELECT `COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='yourdatabasename'
AND `TABLE_NAME`='yourtablename';
É MUITO poderoso e pode fornecer TONELADAS de informações sem a necessidade de analisar texto (como tipo de coluna, se a coluna é anulável, tamanho máximo da coluna, conjunto de caracteres etc.) ...
Ah, e é SQL padrão (enquanto
SHOW ...
é uma extensão específica do MySQL)... Para obter mais informações sobre a diferença entre
SHOW...
e usando o INFORMATION_SCHEMA
tabelas, confira a documentação do MySQL sobre INFORMATION_SCHEMA em geral
...