如何查询MySQL列中存储的JSON数据?

Patricia Arquette
发布: 2024-10-27 16:00:03
原创
162 人浏览过

 How to Query JSON Data Stored in MySQL Columns?

查询 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 函数从“json_data”列中的 JSON 数据中提取“title”字段。
  • LIKE 运算符用于将提取的值与“%CPU%”进行比较。

通过将 json_extract 合并到查询中,您可以轻松搜索和过滤 MySQL 中的 JSON 数据,使其成为处理复杂数据的强大工具。

以上是如何查询MySQL列中存储的JSON数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!