十五、MySQL基础系列笔记之JSON函数
MySQL5.7.8开始支持JSON数据类型,对于json类型数据的操作,MySQL提供了一系列的函数。MySQL函数功能有这样几种:创建JSON函数,查询JSON函数,修改JSON函数,查询JSON元数据函数。
函数 | 功能 |
---|---|
创建JSON | |
json_array(v1,v2,..) | 创建json数组 |
json_object(v1,v2,..) | 创建json对象 |
json_quote(string)/json_unquote() | 加上/去掉json文档两边的双引号 |
查询JSON | |
json_contains(target,candidate[,path]) | 查询文档中是否包含指定的元素 |
json_contains_path() | 查询文档中是否包含指定的路径 |
json_extract()/->/->> | 根据条件提取文档中的数据 |
json_keys(json_doc[,path]) | 提取所有key的集合 |
json_search() | 返回所有符合条件的路径集合 |
修改JSON | |
json_merge()/json_merge_preserve | 将两个文档合并 |
json_array_append() | 数组尾部追加元素 |
json_array_insert() | 在数组的指定位置插入元素 |
json_remove() | 删除文档中指定位置的元素 |
json_replace() | 替换文档中指定位置的元素 |
json_set() | 给文档中指定位置的元素设置新值 |
查询JSON元数据 | |
json_depth() | json文档的深度(元素最大嵌套层数) |
json_length() | json文档的长度(元素的个数) |
json_type() | json文档类型(数组/对象/标量) |
json_valid() | json格式是否合法 |
其他函数 | |
json_pertty() | 美化json格式 |
json_storage_size() | json文档占用的存储空间 |
json_storage_free() | json文档更新操作后的剩余空间 |
json_table() | 将json文档 转换为表格 |
json_arrayagg() | 将聚合后参数中的多个值转换为json数组 |
json_objectagg(0) | 把两个列或者表达式解释为一个key和一个value,返回一个json对象 |
创建json函数
mysql> select json_array('id',1,'name','www.ziruchu.com','自如初');
+---------------------------------------------------------+
| json_array('id',1,'name','www.ziruchu.com','自如初') |
+---------------------------------------------------------+
| ["id", 1, "name", "www.ziruchu.com", "自如初"] |
+---------------------------------------------------------+
1 row in set (0.00 sec)
json_contains(target,candidate[,path])
查询指定的元素condidate是否包含在目标json文档中,包含返回1,否则返回0.
mysql> select json_contains('[1,2,"ab"]','"ab"');
+------------------------------------+
| json_contains('[1,2,"ab"]','"ab"') |
+------------------------------------+
| 1 |
+------------------------------------+
1 row in set (0.00 sec)
由于篇幅原因,关于json系统的函数就不过多举例了,记得一定要练习。
2020-10-17
请登录后再评论