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

本文介绍了MySQL 5.7及以上版本的JSON类型,包括其功能、比较规则、常用函数如JSON_ARRAY、JSON_OBJECT、JSON_EXTRACT等,并展示了如何进行数据查询和修改。同时,讨论了JSON类型的长度限制及其在数据存储中的应用。
摘要由CSDN通过智能技术生成

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及以上版本可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值