Mysql内储存JSON字符串,根据条件进行查询

Mysql存储json格式数据 Mysql5.7版本以后新增的功能,Mysql提供了一个原生的Json类型,Json值将不再以字符串的形式存储,而是采用一种允许快速读取文本元素(documentelements)的内部二进制(internalbinary)格式。在Json列插入或者更新的时候将会自动验证Json文本,未通过验证的文本将产生一个错误信息创建表t_user登录方式字段使用json格式,分为phone,wechat,qq,email,zhifubao等等。... 阅读详情

Mysql内储存JSON字符串,根据条件进行查询

Mysql小技巧

个人博客站点:
简书: 😽 猫轻王 https://www.jianshu.com/u/6cce817646be
掘金: 😽 猫轻王 https://juejin.cn/user/1640918680347453
CSDN: 😽 猫轻王 https://blog.csdn.net/moer0
个人项目主页:
https://github.com/moercat


前言

JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串可以表示数组和复杂的对象,而不仅仅是键和值的简单列表,在Mysql中存储Json字符串可以极大的简便存储的复杂度,而与此同时,读取数据库也就成了很多人首先遇到的问题。


示例:{ “key”: “value” }

一、Json是什么?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

二、不同情况

1.模糊查询json类型字段

存储的数据格式(字段名 people_json):

{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}

代码如下(示例):

select * from table_name  where people_json->'$.name' like '%zhang%'

2.精确查询json类型字段

存储的数据格式(字段名 people_json):

{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}

代码如下(示例):

select * from table_name  where people_json-> '$.age' = 13

3.模糊查询JsonArray类型字段

存储的数据格式(字段名 people_json):

[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]

代码如下(示例):

select * from table_name  where people_json->'$[*].name' like '%zhang%'

4.精确查询JsonArray类型字段

存储的数据格式(字段名 people_json):

[{“name”: “zhangsan”, “age”: “13”, “gender”: “男”}]

代码如下(示例):

select * from table_name  where JSON_CONTAINS(people_json,JSON_OBJECT('age', "13"))

总结

针对数据库中存储的不同Json类型,sql语句已经拥有着简便的方法,只需要了解便可以轻松使用。

希望这个博客能对你有所益处。我是轻王,我为自己代言。
Mysql 中 Json、JsonArray 相关操作 场景: 对Mysql 数据库中存储的 Json 、JsonArray 字段中指定字段做 like 模糊查询,在度娘的答案中辗转了许久,发现类似的提问很多,但很多都是千篇一律,牛头不对马嘴的无效复制文,因为项目需要,结合度娘某些类似答案思路和自己的多次尝试,找到了 目前 有效的模糊搜索方法,记录与此,给自己和大家食用。 如有问题或其他更好的解决 JsonArray 模糊查询指定属性的方法,欢迎留言交流。 问题: 解决Mysql 中 json、JsonArra... 阅读详情

相关推荐

mysql json类型最大长度限制_MySQL json 数据类型

必须要5.7以上版本才能使用写在开头mysql json 的功能很强大,只是用来当一个储存数据的字段 就没什么意义了。使用proto做交互的话,只要JSON 写得好 用proro.Unmarshal() 就可以很方便的转换类型 可以精简很多代码JSON path 是以 $ 开头,之后就是JSON的层级使用。$$[0].name$[0][1]//*表示所有$[*]数据比较json中的数据可以用 =,...

weixin_36278346的博客 1万+

MySQL中使用JSON存储数据

MySQL从5.7版本开始引入了对JSON数据类型的原生支持。这个增强功能使开发人员能够直接在数据库中存储、操作和查询JSON数据。MySQL的JSON字段为存储半结构化数据提供了更加灵活和高效的方式。灵活性:JSON字段可以存储不同结构的数据,无需提前定义表结构。扩展性:可以轻松地添加新的属性或字段,无需修改表结构。快速开发:适用于那些数据结构经常变化或者需要快速迭代开发的应用。

安静的技术宅 4713

数据 储存

常用的数据存储方式,不包含数据压缩打包

m0_54342116的博客 1301

Mysql JSON对象和JSON数组查询

Mysql JSON查询

wnfff的博客 2万+

【笔记6】SP3485自动收发电路设计分析

则TXD路为1,MOS管导通,2/3引脚为0,芯片实际上事与愿违的进入了接收模式。但是,由于我们采用单根双绞线与上位机通信,在数据发出去前数据线上没有任何信号传输,所以AB处于高阻态,进而受到R1下拉与R2上拉的影响,差分信号为1,所以输出1;此外,RXD内路也被上拉,485总线B端上拉,A端下拉。此时TXD由于没有数据传输,所以一直处于1的状态,因而MOS管导通,2/3引脚为0,芯片处于正常接收状态。总而言之就是,RE#与 DE只能有一个是1,1代表微控制器向外发送,0代表微控制器接收。

Haytham233的博客 3118

手把手教你用STM32单片机DIY一个简易PLC(附完整电路图与PCB文件)

本文详细介绍了如何利用STM32单片机DIY一个简易PLC控制器,涵盖硬件设计、电路图解析、PCB布局优化及固件框架实现。通过完整的电路图和PCB文件,帮助读者从元器件选型到工业级优化,逐步构建可靠的PLC系统,特别适合工业自动化爱好者和学习者实践。

weixin_42527160的博客 562

MySQL数据库中存储JSON数据的方法

本文介绍了MySQL中存储JSON数据的方法,包括创建JSON列、插入JSON数据、查询JSON数据、更新JSON数据和删除JSON数据等。JSON数据类型是MySQL 5.7版本中引入的新特性,它允许将JSON格式的数据存储在表中的列中。在上面的例子中,我们使用JSON_SET函数来更新JSON对象中的特定键值对。在上面的例子中,我们使用JSON_EXTRACT函数来提取JSON对象中的特定键值对。在上面的例子中,我们使用JSON_OBJECT函数插入了一个带有特定键值对的JSON数据。

vipfanxu的博客 6131

IBM Storwize V3700存储维护实战:硬盘更换、电源模块热插拔与带外管理IP配置

在企业IT基础设施中,存储阵列是数据持久化的核心组件,其稳定运行直接关系到业务连续性。存储阵列通常采用RAID技术实现数据冗余,并通过热插拔、冗余电源等设计保障高可用性。带外管理则提供了独立于业务网络的硬件级监控与管理通道,是运维的关键手段。本次实战以一台IBM Storwize V3700存储阵列为例,详细记录了在业务低峰期,依据严谨的操作流程,对出现SMART预警的硬盘进行在线更换,并对有异响的冗余电源模块实施热插拔更换。针对管理界面强制要求设置VIP才能配置带外管理地址的限制,文章提供了通过SSH命令

weixin_29172963的博客 298

Mysql内储存JSON字符串,根据条件进行查询(包含多层级复杂JSON查询)

Mysql内储存JSON字符串,根据条件进行查询(包含多层级复杂JSON查询)

weixin_43244841的博客 1615

MacOS蓝牙连接疑难杂症:从基础排查到高级修复全攻略

本文提供了一份全面的MacOS蓝牙故障排查与修复指南。从基础的菜单栏检查、终端命令诊断,到软/硬重启蓝牙服务、删除配置文件,再到使用blueutil工具、重置NVRAM等高级方法,系统性地解决了蓝牙无法连接、连接不稳定等常见问题。最后还分享了环境干扰排查、预防措施及硬件故障自检方法,帮助用户彻底解决Mac蓝牙连接难题。

weixin_29271263的博客 439

【2DWT:2维离散小波变换(附Pytorch代码)】

图像信号具有非平稳特性,无法使用一种确定的数学模型来描述,而小波变换的多分辨率分析特性很好地解决了这个问题。小波变化的多分辨率特性使其既可以高效描述图像的平坦区域(低频信息、全局信息),也可以有效处理图像信号的局部突变(高频信息,即图像的边缘轮廓等部分)。小波变换在空域和频域同时具有良好的局部性,使其可以很好地聚焦到图像的任意细节。

NorthSmile的博客 1万+

mysql json查询为什么这么快?

在本地测试中我发现了一件令我惊讶的事情,在300w数据量对json字段里面值进行筛选的时间都在100ms左右!那么为什么mysql json查询这么快呢?

iUcool的博客 1394

S速度曲线轨迹规划(普通变频位置闭环控制算法详细介绍+SCL代码)

位置控制用PD控制器,详细内容介绍请查看下面博客文章:PD控制器算法详细解读_RXXW_Dor的博客-CSDN博客鉴于积分和微分在工程上的大量应用,这篇博文主要讲解工程上的如何求导f'(x),导数反映的是函数(信号)的变化率,牛顿也是在研究运动的时候提出了微积分的概念,我们知道反映位移变化的快慢程度是速度v(t),反映速度变化快慢程度的物理量是加速度(速度的变化率)。

RXXW_Dor的博客 3875

MySQL JSON_EXTRACT()、JSON_UNQUOTE() 函数获取JSON串的值

MySQL JSON_EXTRACT()、JSON_UNQUOTE() 函数获取JSON串的值

TM_enn的博客 1万+

Python教程:一文了解Python的深拷贝与浅拷贝

理解 Python 中的深拷贝(deep copy)和浅拷贝(shallow copy)是非常重要的,特别是在处理嵌套结构的数据时。让我们深入探讨这两个概念,并通过代码示例进行说明。

旦莫的博客 3958

分数间隔均衡器的基本原理及应用(使用Matlab)

通过对接收信号进行加权求和,分数间隔均衡器可以抵消信号在传输过程中受到的频率响应失真。Matlab提供了丰富的工具和函数,可以方便地实现分数间隔均衡器,并进行性能评估。分数间隔均衡器(Fractional Interval Equalizer)是一种数字信号处理技术,用于均衡带通信道中的信号失真。分数间隔均衡器的基本原理是通过对接收信号进行加权求和,以抵消信号在传输过程中受到的频率响应失真。分数间隔均衡器在通信系统中具有广泛的应用。最后,我们通过比较均衡后的信号和发送数据的阈值来进行解调,并计算误码率。

2301_79325657的博客 663

json 插入数据_SQL-mysql操作json

一 前言MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json类型数据,否则插入数据会报异常;其次,储存json数据内部做到了优化储存,能够快速读取json类型数据,比如无需将二进制json转为文本形式后读取;《SQL-你真的了解什么SQL么?》《SQL-小白最佳入门sql查询一》《SQL-小白最佳入门sql查询...

weixin_39934257的博客 1370

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

mysql对json的支持(学习记录)

文章目录1.前言2.操作JSON2.1、插入json数据2.2、查询json数据2.3 、修改JSON数据2.4、删除JSON中的数据3.json函数3.1、cast3.2JSON_TYPE3.3JSON_MERGE3.4JSON_VALID3.5 JSON_INSERT3.6 JSON_REPLACE3.7JSON_SEARCH3.8JSON_KEYS 1.前言   MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json

AI算法爱好者角落 1786

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

你会使用mysql操作json吗

一 前言 MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json类型数据,否则插入数据会报异常;其次,储存json数据内部做到了优化储存,能够快速读取json类型数据,比如无需将二进制json转为文本形式后读取; 《SQL-你真的了解什么SQL么?》 《SQL-小白最佳入门sql查询一》 《SQL-小白最佳入门sql查询二》 《SQL- 多年开发人员都不懂的插入与更新删除操作注意点》 《SQL-SQL事物操作》 《SQL-

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 636

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

在mysql中将JSON数组转换为行数据

文章目录一、背景二、基本知识三、实现原理 一、背景 在mysql表中有一个字符串类型的字段,里面储存了JSON格式的数组。 由于mysql单个字段的长度是有限的,若JSON数组太长,容易出现长度溢出的异常,所以要将该字段转换为一张独立的mysql表。 此文档适用于已知JSON数组最大长度的场景,一般情况下可以通过字符串的长度换算得到数组的最大长度。 二、基本知识 mysql从5.7开始,增加了JSON函数,支持对字符串进行JSON格式转换。这里主要用到两个函数:JSON_EXTRACT、JSON_UNQUO

fqjia2008的专栏 1万+

php查询mysql中储存的json编码后的内容

解决方法: 1,对需要进行查询的字符串进行编码 $keyword = '需要查询的字符串'; $json_keyword = json_encode(array($keyword)); $str = preg_replace("/^\[\"|\"\]$/","",$json_keyword ); 2,把转化成Unicode的字符串,替换为4个反斜杠 $keyword= str_replace("\\","\\\\",$str); 3,开始进行查询 $where['goods_id

陌潇 322

mysql sql json_SQL-mysql操作json

一 前言MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json类型数据,否则插入数据会报异常;其次,储存json数据内部做到了优化储存,能够快速读取json类型数据,比如无需将二进制json转为文本形式后读取;公众号:知识追寻者知识追寻者(Inheriting the spirit of open source,...

weixin_33379371的博客 372

mysql操作json优点和缺点_SQL-mysql操作json

一 前言MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json类型数据,否则插入数据会报异常;其次,储存json数据内部做到了优化储存,能够快速读取json类型数据,比如无需将二进制json转为文本形式后读取;公众号:知识追寻者知识追寻者(Inheriting the spirit of open source,...

weixin_39931362的博客 337

MySQL如何获取JSON串的值

我们使用JSON_EXTRACT()、JSON_UNQUOTE() 这两个函数来操作。

测试工程师成长之路 3319

json pgsql 函数 操作_SQL-mysql操作json

一 前言MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json类型数据,否则插入数据会报异常;其次,储存json数据内部做到了优化储存,能够快速读取json类型数据,比如无需将二进制json转为文本形式后读取;《SQL-你真的了解什么SQL么?》《SQL-小白最佳入门sql查询一》《SQL-小白最佳入门sql查询...

weixin_31968223的博客 463
下一篇: Mysql为什么选择B+树作为索引结构,而不是红黑树
猫轻王
猫轻王 新星创作者: 后端开发技术领域 新星创作者: 后端开发技术领域
博客等级 码龄6年 1万+粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫轻王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值