MySQL json字段的部分使用

使用MySQL 5.7+的json类型,可以灵活设计反范式宽表

##查询json字段中某个key
select XXX.* , column_json->'$.dist_request_id' from XXX  where  column_json->'$.dist_request_id'='123456789';

##生成虚拟字段,不能直接修改虚拟字段,会同步json中相应字段,并可以基于虚拟字段添加索引
alter table XXX  add column 'v_request_id' varchar(32) generated always as (json_unquote(解除json引用,直接使用值)(json_extract('column_json',_utf8mb4 '$.dist_request_id')))  virtual  null(允许为null)

##可以直接通过虚拟字段查询
select * from XXX where v_request_id = '123456789';
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容