栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从MySQL检索JSON数据?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从MySQL检索JSON数据?

由于很多人都亲自问过我这个问题,所以我想我会再作一次修改。这是一个具有SELECt,Migration和View
Creation的完整SQL的要点,
以及一个实时sql提琴
提琴 不保证可用性)

假设您有这样的表(名为:JSON_TABLE):

 ID   CITY        POPULATION_JSON_DATA----------------------------------------------------------------------- 1    LonDON      {"male" : 2000, "female" : 3000, "other" : 600} 2    NEW YORK    {"male" : 4000, "female" : 5000, "other" : 500}

要选择每个json字段,您可以执行以下操作:

SELECT     ID, CITY,    json_extract(POPULATION_JSON_DATA, '$.male') AS POPL_MALE,    json_extract(POPULATION_JSON_DATA, '$.female') AS POPL_FEMALE,    json_extract(POPULATION_JSON_DATA, '$.other') AS POPL_OTHERFROM JSON_TABLE;

结果:

ID  CITY      POPL_MALE  POPL_FEMALE   POPL_OTHER -----------------------------------------------------------------1   LonDON    2000       3000          6002   NEW YORK  4000       5000          500

根据您的数据大小和json复杂度,这可能是一项昂贵的操作。我建议将其用于

  1. 表迁移到拆分数据库( 请参见附录2-B)
  2. 至少创建一个视图 (要点请参阅附录2-C)

请注意:您可能拥有 以双引号 (stringified) 开头的 json :

"{"male" : 2000, "female" : 3000, "other" : 600}"

在Ubuntu和Mac OSX Sierra上使用Mysql 5.7进行了测试。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416546.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号