标签: MySQL 清除筛选
    MySQL JSON 数组查询实战:JSON_CONTAINS 用法详解与 LIKE 的本质区别
    MySQL 中如何优雅地查询 JSON 数组字段(以及它和 LIKE 的区别)

    很多业务表里都会有这么一个字段:

    [{"uri":"/v1/xxx"}]
    

    它是一个 JSON 数组,数组里是对象。
    问题来了:

    如果我想查出「数组中存在 uri = '/v1/xxx'」的记录,该怎么写 SQL?

    再进一步:

    这样写和 LIKE 有什么区别?

    这篇文章把这个问题讲清楚。


    一、推荐写法:JSON_CONTAINS

    假设表结构:

    • 表名:api_table
    • 字段名:data
    • 类型:JSON(推荐)或 `V