前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在MySQL中搜索JSON数据

如何在MySQL中搜索JSON数据

作者头像
Lemon黄
发布于 2020-04-14 11:19:46
发布于 2020-04-14 11:19:46
5.7K00
代码可运行
举报
文章被收录于专栏:Lemon黄Lemon黄
运行总次数:0
代码可运行

MySQL 5.7.8开始,MySQL支持本机JSON数据类型。在本教程中,我们将学习如何在MySQL中搜索JSON数据。

样本数据

出于演示目的,假设我们创建了一个包含以下数据的数据库表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
+-------------------------------+
| data                          |
+-------------------------------+
| {"id": "4", "name": "Betty","mobile_no.":"921213"}  |
+-------------------------------+

列“data”是JSON类型。当前,它包含具有三个字段的用户JSON数据:

  • ID
  • 名称
  • 手机号码。
选择一个JSON字段

要从JSON中选择特定字段,我们可以使用JSON_EXTRACT函数。例如,选择名称字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT JSON_EXTRACT(data,'$.name') AS  name FROM users;

这将输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"Betty"
从选择结果中删除双引号

您可能已经注意到在前面的示例中双引号。要从选择结果中删除双引号,我们可以使用JSON_UNQUOTE函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT JSON_UNQUOTE(JSON_EXTRACT(data,'$.name')) AS  name FROM users;

这将输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Betty
在选择路径中使用点符号

在我们的示例“data”字段的数据中,它包含一个名为“ mobile_no”的JSON字段,请注意结尾的点“.”的表示法。不能直接在选择字段中使用点符号,因为它将被视为分母。

要在选择路径中使用点符号,我们可以用双引号将其引起来:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT JSON_UNQUOTE(JSON_EXTRACT(data,'$."mobile_no."')) AS  mobile FROM users;

这将输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
921213
使用所选字段作为条件

通常将选定的JSON字段用作条件。为此,我们可以使用HAVING子句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT JSON_UNQUOTE(JSON_EXTRACT(data,'$.id')) AS  id FROM users HAVING id = 1;
结束

我们希望以上的使用示例对您有所帮助!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lemon黄 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mysql json 数据查询
MySQL 5.7 之后提供了Json类型,是MySQL 结合结构化存储和非结构化存储设计出来的一个类型。
chuchur
2022/10/25
4.7K0
MySQL的JSON数据类型介绍以及JSON的解析查询
MySQL从5.7后引入了json数据类型以及json函数,可以有效的访问json格式的数据。json数据类型相对于字符串,具有以下优点:
Java技术债务
2022/08/09
11.7K0
MySQL的JSON数据类型介绍以及JSON的解析查询
oracle mysql5.7 Json函数
oracle mysql 5.7.8 之后增加了对json数据格式的函数处理,可更加灵活的在数据库中操作json数据,如可变属性、自定义表单等等都使用使用该方式解决。
兜兜毛毛
2019/10/23
2.5K0
oracle mysql5.7  Json函数
一文说透MySQL JSON数据类型
JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。
星哥玩云
2022/06/06
5.2K0
一文说透MySQL JSON数据类型
MySQL 5.7 JSON 数据类型使用总结
从MySQL5.7.8开始,MySQL支持原生的JSON数据类型。MySQL 支持RFC 7159定义的全部json 数据类型,具体的包含四种基本类型(strings, numbers, booleans, null)和两种结构化类型(objects and arrays)。
Tinywan
2024/02/22
6350
MySQL 5.7 JSON 数据类型使用总结
MySQL中的JSON
JSON类型的加入模糊了关系型数据库与NoSQL之间的界限,给日常开发也带来了很大的便利。
valineliu
2022/08/28
10.3K1
MySQL中的JSON
MySQL8.0 JSON函数之搜索JSON值(五)
之前的几篇文章介绍了JSON数据类型,相信大家已经对JSON有了一定的了解,上面一篇文章介绍了《MySQL8.0 JSON函数之创建与返回JSON属性(四)》JSON函数的使用;本节中的函数对JSON值执行搜索或比较操作,以从中提取数据;
SEian.G
2021/07/07
7.9K0
MySQL如何给JSON列添加索引(二)
上一篇文章《MySQL 8.0 JSON增强到底有多强?(一)》,我们简单介绍了MySQL中JSON数据类型,相信大家对JSON数据类型有了一定的了解,那么今天我们来简单看下如何在JSON列上添加索引?
SEian.G
2021/07/07
7.6K0
玩转mysql的json类型
导读 mysql在5.7版本之后出了一个json类型字段,方便存储不规则字段,常用为表单的业务字段,原先mysql加个业务字段需要修改表结构。通过json字段则不需要。 例子 没有json类型 字段 解释 id 主键 name 姓名 age 年龄 address 地址 phone 电话 isDel 是否删除 运用json类型 字段 解释 id 主键 user_json 用户json {“name”:“翟”,“age”:“26”…} isDel 是否删除 如果用户增加删除一个字段,json更加灵活,不需要
翟凤玺
2020/10/29
1.3K0
很重要!MySQL的复杂数据类型,学会使用再也不怕复杂场景了、枚举(ENUM)、集合(SET)、JSON、空间数据类型
MySQL数据库作为关系型数据库管理系统(RDBMS)中的佼佼者,提供了多种数据类型以满足不同应用场景的需求。本文将深入探讨MySQL中的枚举类型(ENUM)、集合类型(SET)、JSON类型以及空间数据类型
小白的大数据之旅
2024/11/25
2480
MySQL 支持JSON字段的基本操作、相关函数及索引使用如何索引JSON字段
Mysql5.7版本以后新增的功能,Mysql提供了一个原生的Json类型,Json值将不再以字符串的形式存储,而是采用一种允许快速读取文本元素(document elements)的内部二进制(internal binary)格式,并提供了不少内置函数,通过计算列,甚至还可以直接索引json中的数据。
chenchenchen
2022/03/09
30.2K0
MySQL5.7对json的操作
Mysql中需要存储用户的相关证件信息,即存储图片信息, 数量不定。这时候通常采用的做法:
有一只柴犬
2024/01/25
2330
MySQL5.7对json的操作
MySQL 之 JSON 支持(二)—— JSON 索引
从 MySQL 8.0.17 开始,InnoDB 支持多值索引。多值索引是在存储数组值的列上定义的辅助索引。“一般”索引对于每个数据记录有一个索引记录(1:1)。多值索引中单个数据记录可以具有多个索引记录(N:1)。多值索引用于对 JSON 数组进行索引。例如,在下面的 JSON 文档中,对邮政编码数组定义的多值索引为每个邮政编码创建一个索引记录,每个索引记录引用相同的数据记录。
用户1148526
2024/06/07
6940
MySQL向MongoDB的妥协之JSON
MySQL在5.7.8版本中增加了对json数据的支持,而不再是需要使用字符串形式进行存储。下面简单介绍下MySQL对json的操作:
Jean
2018/10/17
3.5K1
MySQL向MongoDB的妥协之JSON
MySQL 的 JSON 数据类型,YYDS!
用过 MySQL 都知道,关系型的结构化存储存在一定的弊端,因为它需要预先定义好所有的列以及列对应的类型。但是业务在发展过程中,或许需要扩展单个列的描述功能,这时,如果能用好 JSON 数据类型,那就能打通关系型和非关系型数据的存储之间的界限,为业务提供更好的架构选择。
JavaFish
2022/03/15
2.4K0
MySQL之Json类型
MySQL 5.7 之后提供了Json类型,是MySQL 结合结构化存储和非结构化存储设计出来的一个类型。
伍六七AI编程
2022/03/23
2.4K0
MySQL之Json类型
json查询解析在mysql5.7+有多方便?
在mysql5.7之前我们查询解析json需要先查出json字符串,再通过程序进行解析。(如果你使用的navicat版本太低的话,看不到json类型的) 现在mysql5.7引入了json类型格式,大大方便了我们的查询解析。 MySQL官方列出json相关的函数,完整列表如下: 分类 函数 描述 创建json json_array 创建json数组 json_object 创建json对象 json_quote 将json转成json字符串类型 查询json json_contains 判断是否包含某个
友儿
2022/09/11
2.5K0
mysql支持原生json使用说明
MySQL在5.7.8开始对json原生支持,本文将对MySQL中json类型的用法简单说明,希望对你有用。
我的小碗汤
2018/08/22
3.5K0
mysql支持原生json使用说明
用 MySQL 实现 JSON 格式的数据存储
在绝大多数业务场景中,分布式数据库并非必需。事实上,约80%的应用程序都可以在单机环境下高效运行。
贺春旸的技术博客
2024/08/05
2620
用 MySQL 实现 JSON 格式的数据存储
深入探索MySQL中JSON数据的查询、转换及springboot中的应用
MySQL版本引入了对JSON数据类型的支持,这为我们处理和存储非结构化数据提供了新的可能性。通过灵活利用MySQL的JSON函数,我们可以实现高效的查询和转换操作,提取有用的数据,并将其转换为有意义的格式。本文将深入探索MySQL中JSON数据的查询与转换技巧,帮助您更好地利用这一功能。
修己xj
2023/08/25
2.8K0
深入探索MySQL中JSON数据的查询、转换及springboot中的应用
相关推荐
Mysql json 数据查询
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验