【MySQL】根據JSON字段的內容檢索查詢數據


查詢語句

  • 使用 字段->'$.json屬性' 進行查詢條件
  • 使用 json_extract 函數查詢,json_extract(字段, "$.json屬性")
  • 根據json數組查詢,用 JSON_CONTAINS(字段, JSON_OBJECT('json屬性', "內容"))

MySQL5.7以上支持JSON的操作,以及增加了JSON存儲類型
一般數據庫存儲JSON類型的數據會用JSON類型或者TEXT類型

注意:用JSON類型的話
1)JSON列存儲的必須是JSON格式數據,否則會報錯。
2)JSON數據類型是沒有默認值的。

使用示例:
1 演示數據

查詢語句

SELECT * FROM test_event_list  where `subdata` -> '$.page_url' = 'https//www.test.com/123456.html';

select  *  from test_event_list where JSON_CONTAINS(`subdata`, JSON_OBJECT('page_url', "https//www.test.com/123456.html"));

select  *  from test_event_list   where json_extract(subdata,'$.page_url') = 'https//www.test.com/123456.html';

提示: 此方法在大批量數據下查詢 緩慢,慎用!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM