首页  >  文章  >  数据库  >  如何使用 JSON 函数查询包含 JSON 数据的 MySQL 列?

如何使用 JSON 函数查询包含 JSON 数据的 MySQL 列?

Linda Hamilton
Linda Hamilton原创
2024-10-28 22:08:31922浏览

How to Query MySQL Columns with JSON Data Using JSON Functions?

使用 JSON 函数查询包含 JSON 数据的 MySQL 列

在 MySQL 中,您可以将 JSON 对象作为值存储在数据库列中。要在查询中使用特定 JSON 字段高效地从这些列中检索数据,请考虑使用 JSON 函数,例如 json_extract()。

使用 json_extract() 进行查询过滤

例如,让我们考虑下面名为articles的表,其中包含一个名为json_data的列,其中包含JSON对象:

Column Data
id 1, 2, 3
user_id 1, 1, 2
json_data '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}', '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}', '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}'

要根据特定JSON字段过滤记录,您可以使用json_extract()函数。例如,要检索 JSON 对象的标题字段中包含术语“CPU”的文章:

SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';

此查询将返回第一行,因为它与条件匹配。

附加说明

  • json_extract() 允许您从 JSON 对象中提取特定值。
  • 对于旧版本的 MySQL(5.7 之前),您可以使用替代方法,例如存储例程或第三方扩展。
  • 考虑在 JSON 列上使用索引以提高查询性能。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn