mysql中json_merge函数的使用?
2023-09-11 14:14:16 时间
需求描述:
通过mysql中的json_merge函数,可以将多个json对象合并成一个对象
操作过程:
1.查看一张包含json列的表
mysql> select * from tab_json; +----+-----------------------------------------------------------------------------------+ | id | data | +----+-----------------------------------------------------------------------------------+ | 1 | {"Tel": "132223232444", "name": "david", "address": "Beijing"} | | 2 | {"Tel": "13390989765", "name": "Mike", "address": "Guangzhou"} | | 3 | {"names": "Smith"} | | 4 | {"names": "Smith", "address": "Beijing"} | | 5 | {"names": "Smith", "address": "Beijing", "birthday": "2018-09-09"} | | 6 | {"Max": "true", "names": "Smith", "address": "Beijing", "birthday": "2018-09-09"} | | 7 | {"max": "true", "names": "Smith", "address": "Beijing", "birthday": "2018-09-09"} | | 8 | {"oax": "true", "names": "Smith", "address": "Beijing", "birthday": "2018-09-09"} | +----+-----------------------------------------------------------------------------------+ 8 rows in set (0.00 sec)
2.将names的值与address的值进行合并
mysql> select json_extract(data,'$.names'),json_extract(data,'$.address') from tab_json;
+------------------------------+--------------------------------+
| json_extract(data,'$.names') | json_extract(data,'$.address') |
+------------------------------+--------------------------------+
| NULL | "Beijing" |
| NULL | "Guangzhou" |
| "Smith" | NULL |
| "Smith" | "Beijing" |
| "Smith" | "Beijing" |
| "Smith" | "Beijing" |
| "Smith" | "Beijing" |
| "Smith" | "Beijing" |
+------------------------------+--------------------------------+
8 rows in set (0.00 sec)
mysql> select json_merge(json_extract(data,'$.names'),json_extract(data,'$.address')) from tab_json;
+-------------------------------------------------------------------------+
| json_merge(json_extract(data,'$.names'),json_extract(data,'$.address')) |
+-------------------------------------------------------------------------+
| NULL |
| NULL |
| NULL |
| ["Smith", "Beijing"] |
| ["Smith", "Beijing"] |
| ["Smith", "Beijing"] |
| ["Smith", "Beijing"] |
| ["Smith", "Beijing"] |
+-------------------------------------------------------------------------+
8 rows in set (0.00 sec)
3.如果多个对象含有相同的key,那么也会进行合并为具体的values
mysql> SELECT JSON_MERGE('{"a": 1, "b": 2}', '{"c": 3, "a": 4}'); +----------------------------------------------------+ | JSON_MERGE('{"a": 1, "b": 2}', '{"c": 3, "a": 4}') | +----------------------------------------------------+ | {"a": [1, 4], "b": 2, "c": 3} | +----------------------------------------------------+ 1 row in set (0.00 sec)
备注:将两个对象的值合并成一个,a这个key的值也增加到了2个.
文档创建:2018年6月6日17:49:18
相关文章
- Mysql加锁过程详解(4)-select for update/lock in share mode 对事务并发性影响
- mysql中,通过json_insert函数向json字段插入键值?json_insert函数的使用?
- mysql数据库中,通过mysqldump工具仅将某个库的所有表的定义进行转储
- mysql数据库中查看当前使用的数据库是哪个数据库?
- 报错:MySQL Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- 【MySQL高级】MySql中常用工具及Mysql 日志
- 线上MySQL的自增id用尽怎么办?
- Pycharm使用技巧:Show as JSON(以友好的方式显示输出框的json字符串)
- 关于Mysql 查询所有表的实时记录用于对比2个MySQL 库的数据是否异步
- MySQL: 锁 lock
- Mysql错误check the manual that corresponds to your MySQL server version for the right syntax
- MySQL第八讲 MySQL集群扩容与半同步复制
- 【MySQL进阶-10】mysql语句的执行流程以及集群的高可用
- 【MySQL进阶-01】深入理解mysql索引本质
- 一个小小的签到功能,到底用MySQL还是Redis
- mysql 几阶b树_在学到MySQL索引时,涉及到了B树和B+树.聊一聊
- 【用Navicat Premium 12连接mysql一报错】2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded
- mysql循环批量插入测试数据
- 深入MySQL复制(一)
- Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).
- MySQL运维之---mysqldump备份、select...into outfile、mysql -e 等工具的使用
- MYSQL导入csv类型的数据出现The MySQL server is running with the --secure-file-priv option
- idea 社区版连接mysql数据库教程,Cannot connect to “MySQL-5.1.43“. CLIENT_PLUGIN_AUTH is required
- 浅析MySQL的分区(Partition)功能
- 【Unity3D进阶4-14】Unity3D 连接MySQL数据库
- 在centos中php 在连接mysql的时候,出现Can't connect to MySQL server on 'XXX' (13)
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql (转)
- (4.11)mysql闪回,mysql binlog2sql
- 【MySQL】长事务
- Java新手入门200例125之用C3P0连接Mysql实例
- MySQL学习 [第二天]——数据库的基本操作 Ⅱ