mysql怎么查询json内字段

1141
2023/12/25 13:07:08
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在MySQL中查询JSON字段,可以使用JSON_EXTRACT函数。该函数接受两个参数:第一个参数是要查询的JSON字段,第二个参数是要提取的键路径。

例如,假设有一个名为data的JSON字段,其中包含以下内容:

{
   "name": "John",
   "age": 30,
   "address": {
      "city": "New York",
      "state": "NY"
   }
}

要查询data字段中的name键的值,可以使用以下查询语句:

SELECT JSON_EXTRACT(data, '$.name') AS name FROM table_name;

结果将返回name键的值。

如果要查询嵌套JSON字段中的键的值,可以使用点号表示嵌套层级。例如,要查询data字段中address键下的city键的值,可以使用以下查询语句:

SELECT JSON_EXTRACT(data, '$.address.city') AS city FROM table_name;

结果将返回city键的值。

如果要查询JSON数组中的值,可以使用索引号。例如,假设data字段中包含一个名为hobbies的JSON数组:

{
   "name": "John",
   "age": 30,
   "hobbies": ["swimming", "reading", "traveling"]
}

要查询hobbies数组中的第一个值,可以使用以下查询语句:

SELECT JSON_EXTRACT(data, '$.hobbies[0]') AS first_hobby FROM table_name;

结果将返回hobbies数组中的第一个值。

注意,以上查询语句中的table_name应替换为实际的表名。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: MySQL AArch64支持的存储引擎