Använd JSON_OBJECT()
funktion:
SELECT JSON_OBJECT('id', id, 'name', name, 'age', age)
FROM person
WHERE id = 1;
Detta kräver åtminstone MySQL 5.7 eller MariaDB 10.2.3, det var då alla JSON-relaterade funktioner lades till.
Om du inte vill hårdkoda kolumnnamnen i frågan måste du skriva en lagrad procedur som skapar dynamisk SQL med INFORMATION_SCHEMA.COLUMNS
för att få alla kolumnnamn.