Mysql 中 json、JsonArray 类型字段中指定属性的模糊查询问题

解决json类型字段的模糊查询:

存储的数据格式:{"type": "10", "mobile": "13545678900", "countryCode": "86"}

select * from a where mobile_json->'$.mobile' like '%135%'

解决json类型字段的精确查询

数据存储格式:{"type": "10", "mobile": "13545678900", "countryCode": "86"}

select * from a where mobile_json-> '$.mobile' = 13545678900

解决 JsonArray 类型字段的模糊查询:

存储的数据格式: {"type": "10", "mobile": "13545678900", "countryCode": "86"}

select * from a where mobile_json->'$\*.mobile' like '%135%'

select * from a where JSON_EXTRACT(mobile_json, '\[\*\].mobile') LIKE '%135%'

解决 JsonArray 类型字段的精确查询:

存储的数据格式: {"type": "10", "mobile": "13545678900", "countryCode": "86"}

select * from a where JSON_CONTAINS(mobile_json,JSON_OBJECT('mobile', "13545678900"))

thinkphp 或 laravel 写法

复制代码
// 精确匹配
$query->whereRaw("JSON_CONTAINS(ext_data, JSON_OBJECT('jump_type', ". $value."))" ) 
复制代码
// 模糊匹配
$query->whereRaw("items_json->'$[*].name' like '%$value%'" );
复制代码
$query->whereRaw("JSON_EXTRACT(items_json, '$[*].name') LIKE '%$value%'" );

参考文献:

mysql查询json数组内字段模糊 - 老白网络

mysql查询json内字段 mysql查询json数组内字段模糊_恋上一只猪的技术博客_51CTO博客

学习笔记 如有侵权,请联系删除

相关推荐
莫陌尛.1 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
毕业设计7034 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
小小测试开发6 小时前
LLM 结构化输出测试:Schema 契约 + 故障注入,让工具调用的 JSON 不再靠重试赌运气
人工智能·json
泡泡鱼(敲代码中)6 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
冰暮流星7 小时前
mysql之表子查询
数据库·mysql
hasty8 小时前
_proto__ 不是普通键:从 JSON 反序列化看原型污染
安全·json
这个DBA有点耶9 小时前
MySQL大表DDL锁表锁到崩溃?Online DDL的3个关键参数和实战避坑
数据库·mysql·架构
代码中介商11 小时前
JSON 完全指南:从语法到项目实战
json
名字还没想好☜12 小时前
Go 用 json.Decoder 流式解析大 JSON:边读边处理不爆内存
开发语言·后端·golang·go·json
gf132111113 小时前
【python_发送飞书卡片消息_直接组装JSON格式发送卡片】
python·json·飞书