查询 MySQL 列中的 JSON 数据
在 MySQL 中,您可以在列中存储 JSON 对象来存储复杂的数据结构。为了有效地查询这些 JSON 字段,您可能会面临将它们合并到 WHERE 子句中的挑战。解决方案如下:
使用 json_extract 的解决方案
MySQL 5.7 及更高版本支持 json_extract 函数,该函数允许您从 JSON 数据中提取特定值。此函数接受两个参数:JSON 数据和 JSON 路径表达式。
示例:
假设您有一个包含“json_data”列的“articles”表存储 JSON 对象。要查找标题包含“CPU”的文章:
<code class="sql">SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';</code>
此查询将返回:
+---------+--------------------------------------------------------------------------------------------------+ | user_id | json_data | +---------+--------------------------------------------------------------------------------------------------+ | 1 | {"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"} | +---------+--------------------------------------------------------------------------------------------------+
说明:
通过将 json_extract 合并到查询中,您可以轻松搜索和过滤 MySQL 中的 JSON 数据,使其成为处理复杂数据的强大工具。
以上是如何查询MySQL列中存储的JSON数据?的详细内容。更多信息请关注PHP中文网其他相关文章!