MySQL支持多種JSON相關的函數,這些函數使得在MySQL數據庫中處理JSON數據變得更加容易。以下是一些常用的JSON函數:
- JSON_EXTRACT(json_doc, path) 或 -> (json_doc, path):從JSON文檔中提取值。
json_doc
是要處理的JSON數據,path
是JSON數據的路徑表達式。這個函數返回指定路徑上的JSON值。
- JSON_SET(json_doc, path, val) 或 ->> (json_doc, path) = val:設置JSON文檔中指定路徑的值。如果該路徑不存在,則創建一個新的鍵值對。
json_doc
是要修改的JSON數據,path
是指定路徑,val
是要設置的值。
- JSON_INSERT(json_doc, path, val) 或 ->> (json_doc, path) = val:在JSON文檔的指定路徑插入一個鍵值對。如果該路徑已經存在,則該函數不會修改已有的值。
json_doc
是要修改的JSON數據,path
是指定路徑,val
是要插入的值。
- JSON_REPLACE(json_doc, path, val) 或 ->> (json_doc, path) = val:替換JSON文檔中指定路徑的值。如果該路徑不存在,則該函數不會執行任何操作。
json_doc
是要修改的JSON數據,path
是指定路徑,val
是要替換的值。
- JSON_REMOVE(json_doc, path) 或 ->> (json_doc, path) = NULL:從JSON文檔中刪除指定路徑的值。如果該路徑不存在,則該函數不會執行任何操作。
json_doc
是要修改的JSON數據,path
是指定路徑。
- JSON_LENGTH(json_doc, path):返回JSON文檔中指定路徑的鍵的數量(對于對象)或元素的數量(對于數組)。
json_doc
是要處理的JSON數據,path
是指定路徑。
- JSON_TYPE(json_doc, path):返回JSON文檔中指定路徑的數據類型(‘ARRAY’、‘OBJECT’、‘STRING’、‘NUMBER’、‘NULL’或’TRUE’/‘FALSE’)。
json_doc
是要處理的JSON數據,path
是指定路徑。
- JSON_UNQUOTE(json_doc):去掉JSON文檔中字符串值兩端的引號。
json_doc
是要處理的JSON數據。
- JSON_QUOTE(json_doc):將JSON文檔中的值轉換為帶引號的字符串。
json_doc
是要轉換的JSON數據。
這些函數提供了對JSON數據的豐富操作功能,使得在MySQL中處理JSON數據變得更加靈活和方便。