十五、MySQL基础系列笔记之JSON函数

作者: 温新

分类: 【MySql】

阅读: 2361

时间: 2020-10-17 14:13:08

MySQL5.7.8开始支持JSON数据类型,对于json类型数据的操作,MySQL提供了一系列的函数。MySQL函数功能有这样几种:创建JSON函数,查询JSON函数,修改JSON函数,查询JSON元数据函数。

创建json函数

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">mysql> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">select</span> json_array(<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'id'</span>,<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'name'</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'www.ziruchu.com'</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'自如初'</span>);</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">+---------------------------------------------------------+</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">| json_array(<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'id'</span>,<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'name'</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'www.ziruchu.com'</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'自如初'</span>)    |</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">+---------------------------------------------------------+</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">| [<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"id"</span>, <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span>, <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"name"</span>, <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"www.ziruchu.com"</span>, <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"自如初"</span>]          |</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">+---------------------------------------------------------+</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">row</span> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">in</span> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">set</span> (<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">0.00</span> sec)</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box"></span></span>

json_contains(target,candidate[,path])

查询指定的元素condidate是否包含在目标json文档中,包含返回1,否则返回0.

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">mysql> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">select</span> json_contains(<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'[1,2,"ab"]'</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'"ab"'</span>);</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">+------------------------------------+</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">| json_contains(<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'[1,2,"ab"]'</span>,<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'"ab"'</span>) |</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">+------------------------------------+</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">|                                  <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span> |</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">+------------------------------------+</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">row</span> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">in</span> <span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">set</span> (<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">0.00</span> sec)</span>

由于篇幅原因,关于json系统的函数就不过多举例了,记得一定要练习。

我是小白,期待和优秀的你一起同行!

小白

2020年10月17日

请登录后再评论