mysql json类型最大长度限制_MySQL json 数据类型

2ff34e647e2e3cdfd8dca593e17d9b0a.png必须要5.7以上版本才能使用

写在开头

mysql json 的功能很强大,只是用来当一个储存数据的字段 就没什么意义了。

使用proto做交互的话,只要JSON 写得好 用proro.Unmarshal() 就可以很方便的转换类型 可以精简很多代码

JSON path 是以 $ 开头,之后就是JSON的层级使用。$

$[0].name

$[0][1]

//*表示所有

$[*]

数据比较

json中的数据可以用 =, , >=, <>, !=, and <=> 进行比较。

json里的数据类型是多样的,在不同类型之间进行比较时,高优先级的要大于低优先级的(可以用JSON_TYPE()函数查看类型)。

优先级从高到低如下:

BLOB > BIT > OPAQUE > DATETIME > TIME > DATE > BOOLEAN > ARRAY > OBJECT > STRING > INTEGER >DOUBLE > NULL

函数整理

创建函数JSON_ARRAY: JSON_ARRAY(val1,val2,val3…)

JSON_OBJECT: 生成一个包含指定K-V对的json object。如果有key为NULL或参数个数为奇数,则抛出异常。

JSON_QUOTE:JSON_QUOTE(json_val) 将json_val用””号括起来。

CONVERT: CONVERT(json_string,JSON)

查询函数JSON_CONTAINS:JSON_CONTAINS(json_doc,var,[path])

查询json文档是否在指定path包含指定的数据,包含则返回1,否则返回0. 如果有参数为null或者path不存在则返回null

JSON_CONTAINS_PATH:JSON_CONTAINS_PATH(json_doc,one_or_all,path,path…..)

查询是否存在指定路径,存在则返回1,否则返回0.如果有参数为NULL,则返回NULL。

one_or_all只能取值“one”或”all”,one表示只要有一个存在即可;all表示所有的都存在才行。

JSON_EXTRACT:JSON_EXTRACT(json_doc, path[, path] …)

5.7.9及以上版本可

你可能感兴趣的:(mysql,json类型最大长度限制)