我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySql中的json_extract函数处理json字段详情

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySql中的json_extract函数处理json字段详情

前言

在db中存储json格式的数据,相信大家都或多或少的使用过,那么在查询这个json结构中的数据时,有什么好的方法么?取出String之后再代码中进行解析?

接下来本文将介绍一下Mysql5.7+之后提供的json_extract函数,可以通过key查询value值

1. 使用方式

数据存储的数据是json字符串,类型为我们常用的varchar即可

语法:

JSON_EXTRACT(json_doc, path[, path] …)

若json字符串非数组时,可以通过$.字段名来表示查询对应的value

2. 使用演示

创建一个测试的表:

CREATE TABLE `json_table` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `val` json DEFAULT NULL COMMENT 'json字符串',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

插入几条数据:

insert into `json_table` values (1, '{"name": "一灰灰blog", "age": 18}');
insert into `json_table` values (2, '{"name": "一灰灰blog", "site": "https://blog.hhui.top"}');

查询json串中的name如下:

mysql> select json_extract(`val`, '$.name') from `json_table`;
+-------------------------------+
| json_extract(`val`, '$.name') |
+-------------------------------+
| "一灰灰blog"                  |
| "一灰灰blog"                  |
+-------------------------------+

如果查询的key不在json串中,返回的是null,而不是抛异常

mysql> select json_extract(`val`, '$.name') as `name`, json_extract(`val`, '$.site') as `site` from `json_table`;
+-----------------+-------------------------+
| name            | site                    |
+-----------------+-------------------------+
| "一灰灰blog"    | NULL                    |
| "一灰灰blog"    | "https://blog.hhui.top" |
+-----------------+-------------------------+

接下来再看一下如果为json数组,怎么整

mysql> insert into `json_table` values (3, '[{"name": "一灰灰", "site": "https://spring.hhui.top"}]');
mysql> select json_extract(`val`, '$[0].name') from `json_table` where id = 3;
+----------------------------------+
| json_extract(`val`, '$[0].name') |
+----------------------------------+
| "一灰灰"                         |
+----------------------------------+

除了在查询结果中使用json_extract之外,也可以在查询条件中使用它

mysql> select * from `json_table` where json_extract(`val`, '$.name') = '一灰灰blog';
+----+------------------------------------------------------------+
| id | val                                                        |
+----+------------------------------------------------------------+
|  1 | {"age": 18, "name": "一灰灰blog"}                          |
|  2 | {"name": "一灰灰blog", "site": "https://blog.hhui.top"}    |
+----+------------------------------------------------------------+

3. 小结

json_extract函数的使用方法,用于解析字段内value为json串的场景

到此这篇关于MySql中的json_extract函数处理json字段详情的文章就介绍到这了,更多相关MySql 处理json 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySql中的json_extract函数处理json字段详情

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySql中怎么使用json_extract函数处理json字段

这篇“MySql中怎么使用json_extract函数处理json字段”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySq
2023-06-30

关于mysql中的json解析函数JSON_EXTRACT

目录mysql json解析函数JSON_EXTRACT例子mysql5.7 json格式与json_extract方法数据初始化select语句返回结果解析用法解析mysql json解析函数JSON_EXTRACTMYSQl自带的解析
2022-07-05

MySQL中JSON字段数据类型详解

目录前言创建jsON值搜索JSON类型数据在 JSON 和非 JSON 值之间转换JSON 值的汇总总结前言JSON 类型是从 mysql 5.7 版本开始支持http://www.cppcns.com的功能,MySQL 支持由RFC 7
2022-06-14

MySQL中查询json格式的字段实例详解

工作开发过程遇到一个需求:需要动态存储客户的姓名、手机号码、身份证、证件类型,意思是可能前端会传一个人或二个人或者三个人的信息是动态的不固定人数的四个字段(姓名、手机号码、身份证、证件类型)。 前端页面如下:我是使用List来接收前端传过来
2022-05-14

MySQL处理JSON常见函数的使用

官方文档:JSON FunctionsNameDescriptionJSON_APPEND()Append data to JSON documentJSON_ARRAY()Create JSON arrayJSON_ARRAY_APPEN
2022-05-12

Mysql当中Json相关的函数详解

目录 一、前言二、创建JSON文本的函数2.1.JSON_ARRAY(转换json数组)2.2.JSON_OBJECT(转换json对象)2.3.JSON_QUOTE(转义字符串) 三、搜索JSON文本的函数3.1.JSON_
2023-08-18

帝国CMS功能解密之字段处理函数详解

一、前言: 帝国cms提供了强大的自定义字段处理函数功能,极大的方便了用户对帝国cms进行二次开发! 帝国CMS在增加/修改字段时可以设置“后台增加信息处理函数”、“后台修改信息处理函数”、&
2022-06-12

PHP 函数在 JSON 处理中的应用

在 php 中处理 json 数据主要使用两个函数:json_encode() 用于将 php 数据编码为 json 字符串。json_decode() 用于将 json 字符串解码为 php 数据结构。PHP 函数在 JSON 处理中的应
PHP 函数在 JSON 处理中的应用
2024-04-15

一文详解如何在MySQL中处理JSON数据

目录前言1. mysql中的jsON数据类型2. JSON函数和运算符3. 创建JSON列的表4. 插入JSON数据5. 查询JSON数据6. 复杂查询和聚合7. JSON 数据的索引8. 总结前言在当今的大数据时代,JSON(JavaS
一文详解如何在MySQL中处理JSON数据
2024-08-19

Java 中 round 函数的边界情况该如何处理?(Java round函数的边界情况处理)

在Java编程中,round函数是一个常用的数学函数,用于将一个小数四舍五入为最接近的整数。然而,在处理边界情况时,round函数可能会出现一些意想不到的结果。本文将详细介绍Java中round函数的边界情况
Java 中 round 函数的边界情况该如何处理?(Java round函数的边界情况处理)
Java2024-12-17

Postgresql数据库中的json类型字段使用示例详解

目录1. json概述2. PostgreSQL数据库中使用Json类型字段2.1. 创建表定义字段信息2.2. 增加2.3. 查询键值2.3.1. 查询键2.3.2. 查询值2.3.3. where查询条件使android用json键值作
2023-02-09

PHP 函数在处理 XML 和 JSON 数据中的应用

php 提供了函数来处理 xml 和 json 数据。对于 xml,simplexml_load_string() 函数将 xml 字符串解析为一个 simplexmlelement 对象,允许程序员以面向对象的格式访问数据。PHP 函数在
PHP 函数在处理 XML 和 JSON 数据中的应用
2024-04-24

mysql大表在不停机的情况下增加字段该怎么处理

MySQL中给一张千万甚至更大量级的表添加字段一直是比较头疼的问题,遇到此情况通常该如果处理?本文通过常见的三种场景进行案例说明。1、 环境准备数据库版本: 5.7.25-28(Percona 分支)服务器配置:  3台centos 7虚拟机,配置均为2CPU
mysql大表在不停机的情况下增加字段该怎么处理
2017-07-15

oracle中对JSON数据处理的详细指南

目录背景入门探究jsON_EXISTSJSON_ARRAYJSON_VALUEJSON_QUERYJSON_TABLE进阶实战篇1. JSON_QUERY与JSON_VALUE的区别2. JSON_EXISTS判断某个值是否等于目标值3.
2023-05-16

如何处理PHP中JSON数据显示中文乱码的情况?

如何处理 PHP 中 JSON 数据显示中文乱码的情况?在 PHP 开发中,经常会遇到处理 JSON 数据的情况。然而,有时候我们可能会遇到 JSON 数据中的中文显示乱码的问题。这种情况很常见,但是可以通过一些简单的方法来解决。下面将介
如何处理PHP中JSON数据显示中文乱码的情况?
2024-03-08

编程热搜

目录