Utilice el JSON_OBJECT()
función:
SELECT JSON_OBJECT('id', id, 'name', name, 'age', age)
FROM person
WHERE id = 1;
Esto requiere al menos MySQL 5.7 o MariaDB 10.2.3, ahí fue cuando se agregaron todas las funciones relacionadas con JSON.
Si no desea codificar los nombres de las columnas en la consulta, deberá escribir un procedimiento almacenado que cree SQL dinámico, usando INFORMATION_SCHEMA.COLUMNS
para obtener todos los nombres de las columnas.