MySQL支持在JSON文檔中進行高效查詢操作,而在JSON文檔中查詢所有的鍵和值也并不是很難。
SELECT JSON_KEYS(json_column) AS keys, JSON_EXTRACT(json_column, CONCAT('$."', JSON_KEYS(json_column),'"')) AS values FROM my_table;
上述代碼中使用了兩個函數:
JSON_KEYS()
:用于查詢JSON文檔中所有的鍵。JSON_EXTRACT()
:用于獲取指定路徑下的值。
其中,CONCAT()
函數用于拼接JSON路徑,$."
表示從根節點開始查找。
通過執行以上代碼,我們可以獲取到JSON文檔中所有鍵和對應的值。
需要注意的是,如果JSON文檔中存在null值,以上代碼將無法獲取到相應的鍵值對。