Le plus proche que vous puissiez faire est d'utiliser INFORMATION_SCHEMA.COLUMNS pour trouver le nom de la colonne à partir de la position ordinale. Je me rends compte que ce n'est pas ce que vous avez demandé, mais je pense que c'est peut-être aussi proche que possible. Par exemple, vous pouvez créer une instruction select ayant les 1ère, 2ème et 5ème colonnes comme suit :
SELECT CONCAT("SELECT ",
GROUP_CONCAT(column_name SEPARATOR ", "),
" FROM ", table_name)
FROM information_schema.columns
WHERE table_schema = database()
AND table_name = 'my_table'
AND ordinal_position IN (1,2,5)
GROUP BY table_name
ORDER BY ordinal_position;