美文网首页
MySQL查询存储json的字段

MySQL查询存储json的字段

作者: 燃灯道童 | 来源:发表于2023-03-19 22:45 被阅读0次

    数据库中存储json格式的字段,一般量级比较大,如果其中一个字段特征去查询的话比较麻烦。如果按字符串使用like或者instr查询,数据量比较大的情况下效率会比较慢,而且不能精准定位,使用mysql带的json函数效率比较高.

    MySQL5.7以上支持JSON的操作,一般数据库存储JSON类型的数据会用JSON类型或者TEXT类型.

    本地建张表试一下


    全部字段.png
    select json_extract(info, "$.department") from testjson;
    
    json_extract.png
    select json_contains(info, json_object("$.powerfulkangfu",0)),name from testjson;
    
    武功高强.png
    select * from testjson where info -> '$.department' = '恒山派';
    
    恒山派.png
    select * from testjson where JSON_EXTRACT(info, '$.department') like '%华山%';
    
    模糊华山派.png
    select json_contains(info, json_object("$.powerfulkangfu",true)),name from testjson where info -> '$.department' = '恒山派';
    
    恒山派高手.png

    其中查询主要是使用json_contains和json_extract.
    更多用法见官方文档:https://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html

    相关文章

      网友评论

          本文标题:MySQL查询存储json的字段

          本文链接:https://www.haomeiwen.com/subject/dlturdtx.html