mysql有没有json类型?
发布时间:12/01 来源:未知 浏览:
关键词:
mysql有json类型。MySQL从5.7版本开端,引入了JSON数据类型,可以直接操纵json数据;但MySQL5.7版本下列,在表中保留JSON格局类型的数据,则需要依托varchar或者text之类的数据类型。
MySQL中的JSON类型
json是一个非常好用的数据类型,在mysql5.7以前人们都是用string来贮存json的,但是这样有个题目就是不克不及操纵json,5.7今后就可以直接操纵json数据了。
- 新建没什么好说的就是json 不消带长度默许为0
- 更新 、和插入可以用string插入
- 查询、个人不喜好把数据交给后台处置,那就交给数据库处置吧例子如下:
- 数据库某张表有个content_json字段,里面有这样的数据!
{ "bill": [ { "bill": [ { "id": "C81AEAD03F90000142E81B405F6FADC0", "uuid": "cfd872541b3b4507a50c2b2eda6bef28", "billid": "kjdzyljgmzsfzypj", "pageno": [], "billver": "V1", "billname": "新增测试", "fjNumber": "", "trueName": "", "allPageno": [ { "top": 13, "left": 7 } ], "billValue": {}, "isOtherZL": "", "billNumber": "", "fjTMNumber": "" }, { "id": "C81AED69D6400001A07818551D9EBEC0", "uuid": "05d87c8052cd44209c684407d200b7ec", "billid": "opztsfpsgd", "pageno": [], "billver": "V1", "billname": "发票申购", "fjNumber": "", "trueName": "", "allPageno": [ { "top": 13, "left": 7 } ], "isOtherZL": "", "billNumber": "", "fjTMNumber": "" } ], "index": "", "dependBjBill": { "formula": "", "keyView": "" }, "codeCondition": { "formula": "", "keyView": "" }, "billRuleCondition": { "formula": "", "keyView": "" } }, { "bill": [ { "id": "C81AED84903000019B29EAB0196014CE", "uuid": "0d93fe614d09489cbad8fa5a3d160289", "billid": "kjdzcwgwht", "pageno": [], "billver": "V1", "billname": "财务顾", "fjNumber": "", "trueName": "", "allPageno": [ { "top": 39, "left": 7 } ], "isOtherZL": "", "billNumber": "", "fjTMNumber": "" } ], "index": "", "dependBjBill": { "formula": "", "keyView": "" }, "codeCondition": { "formula": "", "keyView": "" }, "billRuleCondition": { "formula": "", "keyView": "" } } ], "questions": [], "relyonCondition": {} }
构造是这样的,我们要查询最底层uuid!按前提查bill下是一个数组 里面的bill还是一个数组那么要查最底层的uuid怎么查呢?
个人更喜好用相似lambda这种办法究竟这是一个有逼格又好看的操纵:
SELECT content_json->'$.bill[*].bill[*].uuid' from b WHERE JSON_CONTAINS(content_json->'$.bill[*].bill[*].uuid' ,'["cfd872541b3b4507a50c2b2eda6bef28"]')
查询效果 参数必需是json类型 string是不过关的。
举荐教程:mysql视频教程
以上就是mysql有没有json类型?的细致内容,更多请关注 百分百源码网 其它相干文章!