一、版本要求
MySql4.7
二、字段类型:
json类型
三、需要虚拟索引
关于需要处理的json字段,创建虚拟索引:
ALTER TABLE wxhk.t_iotdata ADD sn_virtual varchar (32) GENERATED ALWAYS AS (json_extract(DataContent, ‘$.serialNumber’ )) VIRTUAL;
四、查询:
如果查找内容是一介字段只需要前加‘.’selectjsonextract(DataContent,′.’
select json_extract(DataContent,'.’selectjsonextract(DataContent,′.deviceId’) from wxhk.t_iotdata where json_extract(DataContent,’.deviceId′)="xxx";如果查找内容是多阶子字段,需要‘.deviceId')="xxx";
如果查找内容是多阶子字段,需要‘.deviceId′)="xxx";如果查找内容是多阶子字段,需要‘.’后加前面各介父字段名,如下:
select json_extract(DataContent,’.deviceInfo.mac′)fromwxhk.tiotdatawherejsonextract(DataContent,′.deviceInfo.mac') from wxhk.t_iotdata where json_extract(DataContent,'.deviceInfo.mac′)fromwxhk.tiotdatawherejsonextract(DataContent,′.deviceInfo.mac’)=“xxx”;