MySQL解析JSON格式字段并取出部分值的方式

news/2025/10/31 19:45:37/文章来源:https://www.cnblogs.com/lgx5/p/19181129

在MySQL中,从JSON格式的字段中提取数据可以使用JSON_EXTRACT()函数,或者使用->操作符。

假设你有一个名为mytable的表,其中有一个json_data字段,它的数据类型是JSON,并且包含了一个JSON对象。

{"name": "John Doe","age": 30,"email": "john.doe@example.com","address": {"street": "123 Main St","city": "Anytown","state": "CA","zip": "90210"}
}

你可以使用以下方法来提取nameageemail等字段:

1.使用JSON_EXTRACT()函数:

SELECT JSON_EXTRACT(json_data, '$.name') as name,JSON_EXTRACT(json_data, '$.age') as age,JSON_EXTRACT(json_data, '$.email') as email
FROM mytable;

2.使用->操作符(这是JSON_EXTRACT()的简化形式):

SELECT json_data->'$.name' as name,json_data->'$.age' as age,json_data->'$.email' as email
FROM mytable;

如果你想要提取嵌套的address对象中的字段,例如street,你可以这样做:

1.使用JSON_EXTRACT()函数:

SELECT JSON_EXTRACT(json_data, '$.address.street') as street
FROM mytable;

2.使用->>操作符(这是JSON_UNQUOTE(JSON_EXTRACT())的简化形式,用于去除结果中的引号):

SELECT json_data->>'$.address.street' as street
FROM mytable;

请注意,->>操作符会自动将提取的JSON值转换为字符串,并去除引号。

如果你使用->操作符,结果将是一个JSON格式的字符串,包括引号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【详细介绍】一种基于斜二进制的序列树上数据结构

简版。这个文大概是详细地讲讲上面那篇东西里第二种 ds 的原理和实现。不需要读者有太多前置知识。但熟知 BIT 原理将对理解本文有较大帮助。 由于没有查阅到相关资料,本文中的称呼全是作者瞎起的,还请勿要见怪。 作…

drm分析

drm架构是?主要函数有哪些?● DRM(Direct Rendering Manager)是Linux内核中负责管理显卡和GPU的核心子系统,支持硬件加速的2D/3D渲染、显示输出和内存管理。以下是其架构解析和关键函数:DRM核心架构graph LR A[用…

8、认识for循环

学习重点一、for循环的概念 二、for循环的基本格式 三、for循环的基本用法思考题如何打印2行星号,一行50个 ? 写下你的思考: 如何输出20行"hello world"? 写下你的思考:知识点 1、for循环的概念 循环结…

node.js安装搭建

node.js 说明 官网:https://nodejs.org/zh-cn nvm-windows Windows 安装 直接使用 nvm-windows 安装 Node.js:https://github.com/coreybutler/nvm-windows/releases nvm version nvm install latest nvm use 25.1.0…

102302156 李子贤 数据采集第二次作业

作业1 在中国气象网(http://www.weather.com.cn)给定城市集的7日天气预报,并保存在数据库。 (1)代码和运行结果点击查看代码 from bs4 import BeautifulSoup from bs4 import UnicodeDammit import urllib.reques…

2025年储能线束生产厂家排名:众晟强电子领先

摘要 2025年储能线束行业迎来快速发展,随着新能源和智能电网的普及,市场需求持续增长。储能线束作为关键组件,其质量、效率和可靠性成为企业选择供应商的核心因素。本文基于行业数据、用户口碑和技术评测,为您呈现…

SVD分解及其应用

奇异值分解已经有一百多年的历史。1873年Beltrami从双线性函数出发,引入线性变换,Beltrami 提出利用自由度使矩阵S的对角线以外的元素全部为零,即矩阵=Σ=𝑑𝑖𝑎𝑔(𝜎,𝜎,,𝜎)为对角矩阵。于是用𝑈…

2025年市场上工业线束生产厂家排名前十

摘要 工业线束作为智能制造和自动化设备的核心组件,在2025年迎来快速发展,市场需求持续增长。本文基于行业数据和技术评测,为您呈现2025年市场上工业线束生产厂家的前十排名,旨在帮助用户高效选择可靠供应商。排名…

解决Python matplotlib绘制图像无法显示中文的问题

引言 在数据可视化过程中,Python 的 Matplotlib 是广泛使用的绘图库。然而,在图表标题、坐标轴标签或图例中使用中文时,字符会显示为方块。这直接影响数据图表的可读性,尤其在学术论文、技术报告或博客中,这种可读…

2025年工业线束生产厂家排名前十强,东莞众晟强电子引领行业创新

摘要 随着工业4.0和智能制造的深入推进,2025年工业线束行业迎来新一轮技术变革。本文基于市场调研数据和技术实力评估,为您呈现行业内前十强生产厂家的综合排名,并提供详细的企业实力分析供采购决策参考。表单数据显…

完整教程:【C语言数据结构】第2章:线性表(1)--定义ADT

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【论道】前端动画总结

楼高望不见,尽日栏杆头。—— 《西洲曲》 最近在做某项目首页,甲方要求要有动效,不得不捡起当年在AI部练就的css技能,索性做个总结,以便归纳自己在交互与动效的经验。 前端岗是用户与产品的一道桥梁,既是UI在htm…

软件构建,藏在细节里的“工程思维”

如果说编程入门时,我学的是“如何写出一行能执行的代码”,那《代码大全2》教会我的,就是“如何用工程思维构建一个可靠的软件系统”。这本书厚达千页,却没有一句废话,从需求分析到代码调试,从团队协作到项目维护…

从“会编码”到“懂开发”,一场开发者的认知升级

在编程这条路上,我曾以为“技术栈越新、代码写得越快”就是优秀开发者的标准。直到读完《代码大全2》,才发现自己一直停留在“会编码”的层面,而这本书,恰好为我打开了“懂开发”的大门。它不只是一本编码技巧手册…

Mac版4K Video Downloader Plus Pro v1.5.2安装教程|dmg文件下载后拖拽到应用程序教程

Mac版4K Video Downloader Plus Pro v1.5.2安装教程|dmg文件下载后拖拽到应用程序教程​ 一款 ​Mac 专用​ 的视频下载工具,支持从 ​YouTube、抖音、B站、Facebook 等主流平台​ 高速下载视频、音频,还能下载 ​4…

《代码大全》的读后感

在软件开发领域摸爬滚打三年后,我曾陷入一种 “技能停滞” 的困境 —— 能熟练使用主流框架实现需求,却总在项目迭代中频繁遭遇代码臃肿、bug 频发的问题,始终无法突破 “合格开发者” 到 “优秀开发者” 的壁垒。直…

把coarse粗调音高转换成频率的数学公式

把coarse粗调音高转换成频率的数学公式频率倍数 = 2^(coarse/12)

思科vManage漏洞分析:四漏洞链实现未授权远程代码执行

本文详细分析了Cisco Viptela vManage中的四个安全漏洞,包括SSRF+任意文件写入、未授权文件读取+目录遍历、命令注入和权限提升漏洞,攻击者可通过组合利用这些漏洞实现未授权的远程代码执行并获取root权限。SD-PWN —…

Java流程控制练习——打印三角形及debug调试

Java流程控制练习——打印三角形及debug调试练习————用*号打印三角形 public class test_demo {static void main(String[] args) {//打印一个5行的三角形for (int i = 1; i <=5; i++) {for (int j = 5; j>…

CH585驱动CH271播放音频

前言: 本文提供CH585通过双路PWM驱动271芯片,进而实现驱动音频。相较单路PWM,优点在于不需要调节RC电路,且外围简单。 操作指令: ①通过ffmpeg命令行工具将wav格式文件转换为sbc格式文件,转换成的文件需手动将.s…