Mysql Json、JsonArray 指定属性查询
场景:
对Mysql 数据库中存储的 Json 、JsonArray 字段中指定字段做 like 模糊查询,在度娘的答案中辗转了许久,发现类似的提问很多,但很多都是千篇一律,牛头不对马嘴的无效复制文,因为项目需要,结合度娘某些类似答案思路和自己的多次尝试,找到了 目前 有效的模糊搜索方法,记录与此,给自己和大家食用。
如有问题或其他更好的解决 JsonArray 模糊查询指定属性的方法,欢迎留言交流。
问题:
解决Mysql 中 json、JsonArray 类型字段中指定属性的模糊查询问题
解决方法:
话不多说,sql很简单,直接上代码:
1. 解决json类型字段的模糊查询:
存储的数据格式:{"type": "10", "mobile": "13545678900", "countryCode": "86"}
select * from a where mobile_json->'$.mobile' like '%135%'
1.1 解决接送类型字段的精确查询
数据存储格式:{"type": "10", "mobile": "13545678900", "countryCode": "86"}
select * from a where mobile_json-> '$.mobile' = 13545678900
2. 解决 JsonArray 类型字段的模糊查询:
存储的数据格式: [{"type": "10", "mobile": "13545678900", "countryCode": "86"}]
select * from a where mobile_json->'$[*].mobile' like '%135%'
2.1 解决 JsonArray 类型字段的精确查询:
存储的数据格式: [{"type": "10", "mobile": "13545678900", "countryCode": "86"}]
select * from a where JSON_CONTAINS(mobile_json,JSON_OBJECT('mobile', "13545678900"))
以上两种解决方法,分别是针对 json 和 json 数组类型指定属性的查询方法,其中区别就是,json 数组的模糊查询方法中 $.mobile 改成 $[*].mobile 表示查询所有。
如有问题或其他更好的方法,以及帮助到你,欢迎大家留言交流。
Mysql Json、JsonArray 指定属性查询相关推荐
- MySQL select 语句指定字段查询
指定字段查询 SELECT 语法 SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as al ...
- mysql里面的选择运算_在MySQL关系模型中,选择运算是在一个关系的所有元组中选择指定属性列,组成新关系。...
[单选题]下列关于元素第一电离能的说法不正确的是( ) [填空题]We had already ____ contact with the museum. [判断题]DELETE语句功能是对表中所有记 ...
- MySQL按名字查询所有信息_数据库小记:根据指定名称查询数据库表名及根据指定名称查询数据库所有表中的字段名称(支持mysql/postgre)...
注意:本篇文章仅适用于mysql和postgre这两种数据库 1.查询数据库中所有表名及对应表的详细信息 select * from INFORMATION_SCHEMA.tables 2.根据指定名 ...
- mysql json数据格式的查询性能测试
环境准备 数据库环境:mysql 5.7.20 数据准备: 1 . test_json表,存储10万行数据,每行数据的json列值为10个元素的json数组 test_varchar_index表,存 ...
- Java对象转出json并过滤指定属性
2019独角兽企业重金招聘Python工程师标准>>> List<User> list = userMapper.fenYe(pageIndex * limit, lim ...
- mysql+json插入_MySQL对JSON数据的增删改查
MySQL从5.7版本开始就支持JSON格式的数据,操作用起来挺方便的. 建表 在新建表时字段类型可以直接设置为json类型,比如我们创建一张表: CREATE TABLE `test_user` ( ...
- thinkphp mysql json数据类型_ThinkPHP:JSON字段类型的使用(ORM)
ThinkPHP5.1版本正式发布已经有一段时间了,我会陆续给大家介绍其中的新特性.今天要给大家介绍的是一个可能很多用户还不了解的一个特性:JSON字段数据支持.不过首先注意一点,本篇内容中描述的JS ...
- MySQL优化器如何预估查询成本
MySQL有哪些查询成本 MySQL 执行一个查询可以有不同的执行方案.在我们开发过程中,所有写过的sql语句都会丢给MySQL端的优化器.由优化器判断并选择其中成本最低,或者说代价最低的那种方案去真 ...
- 一文说透 MySQL JSON 数据类型
JSON 数据类型是 MySQL 5.7.8 开始支持的.在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档. 相对字符类型,原生的 JSON 类型具有以下优 ...
最新文章
- Android-语言设置流程分析
- TypeScript + Gulp + 混淆 + 打包
- linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms
- 快手技术嘉年华喊你来参加啦!
- WinForm 自动完成控件实例代码简析
- dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用
- 利用nginx 反向代理解决跨域问题
- 218.94.78.76:20001/index.php,详解spring中使用Elasticsearch的实例教程
- VS2022找不到Microsoft.Expression.Interactions.dll
- Codeforces Round #232 (Div. 1) 解题报告
- AD教程系列 | 5 - 绘制原理图
- windows资源管理器管理工具Qttabbar个人使用总结
- MindMaster Pro 7.3中文版 — 亿图思维导图
- QCC3040---Glossary
- HelixCore P4 Command Reference(详解,持续更新中)
- vue cli3 配置sass全局变量设置不生效,sass混合器文件全局引入
- 读--《谁动了我的奶酪》
- 24、Java——银行存款取款系统(对象+集合)
- 后 R-CNN时代, Faster R-CNN、SSD、YOLO 各类变体统治下的目标检测综述:Faster R-CNN系列胜了吗?,(知乎ChenJoya大佬,讲的挺好的,记录一下)
- WinForm小心AutoSize属性!