-- 示例代码:查询包含特定 JSON 数据的记录
-- 假设有一个名为 `users` 的表,其中有一列 `info` 存储 JSON 数据。
-- 1. 查询 info 列中包含键 "age" 且值为 25 的所有记录
SELECT *
FROM users
WHERE JSON_UNQUOTE(JSON_EXTRACT(info, '$.age')) = '25';
-- 解释:
-- JSON_EXTRACT(info, '$.age') 用于从 JSON 字段中提取 "age" 键对应的值。
-- JSON_UNQUOTE 去掉提取出来的值外面的引号,以便进行比较。
-- 2. 查询 info 列中包含键 "address.city" 且值为 "New York" 的所有记录
SELECT *
FROM users
WHERE JSON_UNQUOTE(JSON_EXTRACT(info, '$.address.city')) = 'New York';
-- 解释:
-- 这里我们使用嵌套的 JSON 路径 "$.address.city" 来访问更深层次的 JSON 数据。
-- 3. 查询 info 列中包含数组 "hobbies" 并且数组中包含 "reading" 的所有记录
SELECT *
FROM users
WHERE JSON_CONTAINS(info, '"reading"', '$.hobbies');
-- 解释:
-- JSON_CONTAINS 用于检查 JSON 数组中是否包含指定的值。第三个参数是路径表达式。
如果你需要更多关于 MySQL JSON 查询的帮助,请告诉我!
上一篇:mysql查询优化
下一篇:查看mysql 版本
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站