0

0

mysql中json怎么使用

PHPz

PHPz

发布时间:2023-05-30 09:46:05

|

3067人浏览过

|

来源于亿速云

转载

mysql字段的数据类型支持json格式,可以直接存储json数组和json对象。

一、插入json数据的方式有两种

1、以普通字符串形式插入,需要遵循 json 格式

2、用 内置函数(JSON_OBJECT和JSON_ARRAY)创建JSON数据再插入

二、查询 JSON 中字段的数据

1、column -> 'path' 和 JSON_EXTRACT(column, 'path')形式访问指定字段的具体数据。(*注意path外面都要用单引号包起来)

其中 column 表示要查询的数据字段列名;
path 为 JSON 数据的访问路径,path格式为 $.path 或 $[idx]。

$.path 用于 JSON对象类型数据;
$[idx] 用于 JSON数组类型数据;
$ 代表整个 JSON 数据的 root 节点;
path 为访问字段 key,如果字段名包含空格,则需要用双引号包住,如 $."nick name";(*注意中文字段名也需要双引号包住)
[idx] 是数组的索引。

2、-> 和JSON_EXTRACT查询到的字段字符串类型还会有个双引号,还需要做一层处理,可以使用 ->>和JSON_UNQUOTE 去除,且转义符也会去除。

JSON_UNQUOTE(JSON_EXTRACT(column, path)) 等价于 column->>path

3、多级查询的方式有两种:

① column -> '$.key.childKey'   path点号连接子集字段的方式访问

② JSON_EXTRACT(JSON_EXTRACT(column, path), path)  JSON_EXTRACT嵌套的方式

③column->'$[*].key'  可以查询json数组所有key,返回数组

三、JSON字段的条件搜索

1、精确查询json类型字段

where column-> '$.key' = value

2、模糊查询JsonArray类型字段

where column->'$[*].key' like '%value%'

3、精确查询JsonArray类型字段

where JSON_CONTAINS(column,JSON_OBJECT('key', "value"))

4、多层级关系,模糊查询所有的

where column->'$**.key' like '%value%'

四、JSON字段的更新操作 1、更新字段

JSON_SET(column, path, val[, path, val] ...) 更新或插入
JSON_REPLACE(column, path, val[, path, val] ...) 只更新

2、新增字段

JSON_INSERT(column, path, val[, path, val] ...) 插入新字段,不会改变已经存在的

3、删除字段

JSON_REMOVE(column, path[, path] ...) 删除字段

相关专题

更多
PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

7

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

48

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

106

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

152

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

58

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

44

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

20

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

111

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

45

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 801人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号