mysql8查询表返回json
在MySQL8中,可以使用JSON_OBJECT、JSON_ARRAYAGG和JSON_TABLE函数来查询表并返回JSON格式的结果。
例如,假设有一个表格名为“students”,其中有“id”、“name”和“age”三列,我们要查询所有学生的信息并返回JSON格式的结果,可以使用以下查询语句:
SELECT JSON_ARRAYAGG( JSON_OBJECT( 'id', id, 'name', name, 'age', age ) ) FROM students;
这将返回一个JSON数组,其中包含每个学生的信息,如下所示:
[ {"id": 1, "name": "Tom", "age": 18}, {"id": 2, "name": "Jerry", "age": 19}, {"id": 3, "name": "Alice", "age": 20}, {"id": 4, "name": "Bob", "age": 21} ]
使用JSON_TABLE函数,可以将JSON格式的结果转换回表格形式。例如,以下查询语句将返回一个与“students”表格相同的结果:
SELECT t.* FROM JSON_TABLE( '[{"id": 1, "name": "Tom", "age": 18}, {"id": 2, "name": "Jerry", "age": 19}, {"id": 3, "name": "Alice", "age": 20}, {"id": 4, "name": "Bob", "age": 21}]', '$[*]' COLUMNS ( id INT PATH '$.id', name VARCHAR(20) PATH '$.name', age INT PATH '$.age' ) ) t
原文地址: https://www.cveoy.top/t/topic/hp8g 著作权归作者所有。请勿转载和采集!