mysql中json_extract函数的使用?作用是什么?

Posted 枫飞飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中json_extract函数的使用?作用是什么?相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/chuanzhang053/p/9139624.html

需求描述:

  今天看mysql中的json数据类型,涉及到一些使用,使用到了函数json_extract来

  获取json字段中某个key的值,在此记录下.

操作过程:

|  2 | {"Tel": "13390989765", "name": "Mike", "address": "Guangzhou"} |
+----+----------------------------------------------------------------+
2 rows in set (0.00 sec)

复制代码

备注:data字段就是json的数据类型,由键值对组成.

 

复制代码

备注:这个查询时直接对json对象进行操作.

3.对tab_json表使用json_extract函数

复制代码
mysql> select json_extract(data,\'$.name\') from tab_json;
+-----------------------------+
| json_extract(data,\'$.name\') |
+-----------------------------+
| "david"                     |
| "Mike"                      |
+-----------------------------+
2 rows in set (0.00 sec)

mysql> select json_extract(data,\'$.name\'),json_extract(data,\'$.tel\') from tab_json;  #如果查询没有的key,那么是可以查询,不过返回的是NULL.
+-----------------------------+----------------------------+
| json_extract(data,\'$.name\') | json_extract(data,\'$.tel\') |
+-----------------------------+----------------------------+
| "david"                     | NULL                       |
| "Mike"                      | NULL                       |
+-----------------------------+----------------------------+
2 rows in set (0.00 sec)

mysql> select json_extract(data,\'$.name\'),json_extract(data,\'$.address\') from tab_json;
+-----------------------------+--------------------------------+
| json_extract(data,\'$.name\') | json_extract(data,\'$.address\') |
+-----------------------------+--------------------------------+
| "david"                     | "Beijing"                      |
| "Mike"                      | "Guangzhou"                    |
+-----------------------------+--------------------------------+
2 rows in set (0.00 sec)
复制代码

备注:通过json_extract函数,获取到了json对象的特定key的值.

以上是关于mysql中json_extract函数的使用?作用是什么?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 5.7 JSON_EXTRACT 不适用于对象中的带引号的字符串:[错误]“字符串中缺少右引号”

将使用 JSON_EXTRACT 的查询从 MySQL 转换为 BigQuery

where子句中的mysql udf json_extract - 如何提高性能

where子句中的mysql udf json_extract - 如何提高性能

Mysql json数组解析方法

避免 BigQuery 中 JSON_EXTRACT 函数中的指数表示法