mysql json dem

從 MySQL 5.7.8 開始,MySQL 支持原生的 JSON 數據類型。

本文測試使用 MySQL 8.0

創建測試表sql 如下:

CREATE TABLE `user_info` (
  `id` int(11) NOT NULL,
  `result` json NOT NULL,
  `create_time` timestamp NULL DEFAULT NULL,
  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

result 字段存入的格式如:

{
    "data": [
        {
            "point_name": "COM21_J0LAJ10CT301",
            "status": 0,
            "timestamp": 1572338291408,
            "value": 32.3197
        },
        {
            "point_name": "COM21_J0LAJ10CT302",
            "status": 0,
            "timestamp": 1572338291408,
            "value": 0.0
        }
    ],
    "timestamp": "2019-10-29 16:38:11"
}
  1. 根據point_name 查詢數據
    SELECT
    	*
    FROM
    	user_info t 
    WHERE
    	JSON_CONTAINS(
    		t.result -> "$.data[*].point_name",
    	JSON_ARRAY( 'COM21_J0LAJ10CT304' ))

     

  2. 查詢json 字段的keys
    SELECT
    	JSON_KEYS( t.result ) 
    FROM
    	user_info t 
    	LIMIT 1

  3.  

發佈了49 篇原創文章 · 獲贊 15 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章