0
点赞
收藏
分享

微信扫一扫

Docker实践:使用Docker搭建个人开发环境(极简版)

_LEON_ 2023-08-01 阅读 53
mysql

本文看下MySQL的json处理。在正式开始让我们先来准备一些测试数据:

CREATE TABLE `dept` (
  `id` int(11) NOT NULL,
  `dept` varchar(255) DEFAULT NULL,
  `json_value` json DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into dept VALUES(1,'部门1','{"deptName": "部门1", "deptId": "1", "deptLeaderId": "3"}');
insert into dept VALUES(2,'部门2','{"deptName": "部门2", "deptId": "2", "deptLeaderId": "4"}');
insert into dept VALUES(3,'部门3','{"deptName": "部门3", "deptId": "3", "deptLeaderId": "5"}');
insert into dept VALUES(4,'部门4','{"deptName": "部门4", "deptId": "4", "deptLeaderId": "5"}');
insert into dept VALUES(5,'部门5','{"deptName": "部门5", "deptId": "5", "deptLeaderId": "5"}');

1:json字段名->’ . j s o n 属性’通过 j s o n 字段名 − > ’ .json属性’ 通过json字段名->’ .json属性通过json字段名>.json属性’语法格式可以访问到json中某个key的值,以如下查询方式看下。

1.1:用在DQL查询结果中

mysql> select id,json_value->'$.deptLeaderId' from dept where id=2;
+----+------------------------------+
| id | json_value->'$.deptLeaderId' |
+----+------------------------------+
|  2 | "4"                          |
+----+------------------------------+
1 row in set (0.01 sec)

用json字段名->’$.json属性’这个方式,可以发现查出来会被双引号包括,可以使用下面的方式进行查询,去除双引号;

SELECT id,json_value->>'$.deptName' FROM dept WHERE id=2;

在这里插入图片描述
参考文档:mysql的json处理

举报

相关推荐

0 条评论