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.  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值