JSON 是一种用于存储结构化数据的流行数据格式,并且在数据库列中存储 JSON 对象变得越来越普遍。 MySQL 提供了多种从 JSON 列中提取数据的方法,可以更轻松地根据特定字段查询和过滤数据。
使用 json_extract() (MySQL 5.7 及以上版本)
对于 MySQL 5.7 及更高版本,json_extract() 函数提供了一种从 JSON 对象中提取特定值的便捷方法。下面是一个示例:
SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';
此查询检索 JSON 列中的 "title" 字段与模式 "%CPU%" 匹配的行。它将仅返回提供的示例表中的第一行。
使用 json_unquote() 和 json_contains()(MySQL 8.0 及更高版本)
在 MySQL 8.0 及更高版本中, json_unquote() 函数可用于从 JSON 值中删除双引号,而 json_contains() 函数可用于检查 JSON 对象中是否存在特定值。这是另一个查询:
SELECT user_id, json_data FROM articles WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
以上是如何使用查询从 MySQL 列中提取 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!