MySQL8版本之json_keys、json_object、json_overlaps、json_pretty
CREATE TABLE `test_json` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, `age` int NOT NULL, `test_json_array` json NOT NULL, `test_json_object` json NOT NULL, `test_json_array_object` json NOT NULL, `custinfo` json DEFAULT NULL COMMENT 'json数据', PRIMARY KEY (`id`), KEY `test_json$list_modified` (`age`,(cast(json_extract(`test_json_array`,_utf8mb4'$[*]') as unsigned array)),`name`), KEY `json_more_value_index` ((cast(json_extract(`custinfo`,_utf8mb4'$.zipcode') as unsigned array)),`name`,`age`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
json_keys:获取json对象的key值组成的数组
json_object:创建一个json对象
json_overlaps:对比的俩个json有相同的键值对或者数组元素即可
json_pretty:格式化json,符合人类的阅读习惯
json_quote:将字符串引用为json值,换句话说就是把字符串处理成为带双引号的值
1、json_keys
获取json对象中的key值组成的数组
2、json_object
创建json对象,配合json_contains使用可以很好的进行查询
select * from test_json where json_contains(test_json_object, json_object('height', '175cm'));
3、json_overlaps
对比俩个json,如果有一个键值对或者数组元素则返回true,否则返回false
select * from test_json where json_overlaps(test_json_object, json_object('height', '175cm'));
总结:
郭慕荣博客园
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2021-05-14 三次握手连接阶段,最后一次ACK包丢失会进入什么样的一个状态
2021-05-14 mysql隔离级别的实现总结
2021-05-14 详解TCP连接的“三次握手”与“四次挥手”(上)