MySQL查询JSON类型字段中某个属性值

只支持MySQL5.7以上的版本

user表中有如下数据:

id

profile

1

{“age”: 20, “name”: “吴彦祖”}

2

{“age”: 21, “name”: “陈伟霆”}

如果需要查询id1的记录中profile字段中age属性的值:

SELECT id, `profile` -> '$.age' AS age FROM user;

id

age

1

20

如果需要查询profile字段中age属性值为20的记录:

SELECT * FROM user WHERE JSON_EXTRACT(`profile`, "$.age") = 20;

JSON_EXTRACT(列名,“$.json某个属性”)

你可能感兴趣的:(java,mysql,json,数据库,spring,boot,jvm)