热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql有没有json类型?

mysql有json类型。MySQL从5.7版本开始,引入了JSON数据类型,可以直接操作json数据;但MySQL5.7版本以下,在表中保存JSON格式类型的数据,则需要依靠varchar或者text之类的数据类型。

mysql有json类型。MySQL从5.7版本开始,引入了JSON数据类型,可以直接操作json数据;但MySQL5.7版本以下,在表中保存JSON格式类型的数据,则需要依靠varchar或者text之类的数据类型。

MySQL中的JSON类型

json是一个非常好用的数据类型,在mysql5.7之前人们都是用string来储存json的,但是这样有个问题就是不能操作json,5.7以后就可以直接操作json数据了。

  1. 创建没什么好说的就是json 不用带长度默认为0
  2. 更新 、和插入可以用string插入
  3. 查询、个人不喜欢把数据交给后台处理,那就交给数据库处理吧例子如下:
  4. 数据库某张表有个content_json字段,里面有这样的数据!
{
  "bill": [
    {
      "bill": [
        {
          "id": "C81AEAD03F90000142E81B405F6FADC0",
          "uuid": "cfd872541b3b4507a50c2b2eda6bef28",
          "billid": "kjdzyljgmzsfzypj",
          "pageno": [],
          "billver": "V1",
          "billname": "新增测试",
          "fjNumber": "",
          "trueName": "",
          "allPageno": [
            {
              "top": 13,
              "left": 7
            }
          ],
          "billValue": {},
          "isOtherZL": "",
          "billNumber": "",
          "fjTMNumber": ""
        },
        {
          "id": "C81AED69D6400001A07818551D9EBEC0",
          "uuid": "05d87c8052cd44209c684407d200b7ec",
          "billid": "opztsfpsgd",
          "pageno": [],
          "billver": "V1",
          "billname": "发票申购",
          "fjNumber": "",
          "trueName": "",
          "allPageno": [
            {
              "top": 13,
              "left": 7
            }
          ],
          "isOtherZL": "",
          "billNumber": "",
          "fjTMNumber": ""
        }
      ],
      "index": "",
      "dependBjBill": {
        "formula": "",
        "keyView": ""
      },
      "codeCondition": {
        "formula": "",
        "keyView": ""
      },
      "billRuleCondition": {
        "formula": "",
        "keyView": ""
      }
    },
    {
      "bill": [
        {
          "id": "C81AED84903000019B29EAB0196014CE",
          "uuid": "0d93fe614d09489cbad8fa5a3d160289",
          "billid": "kjdzcwgwht",
          "pageno": [],
          "billver": "V1",
          "billname": "财务顾",
          "fjNumber": "",
          "trueName": "",
          "allPageno": [
            {
              "top": 39,
              "left": 7
            }
          ],
          "isOtherZL": "",
          "billNumber": "",
          "fjTMNumber": ""
        }
      ],
      "index": "",
      "dependBjBill": {
        "formula": "",
        "keyView": ""
      },
      "codeCondition": {
        "formula": "",
        "keyView": ""
      },
      "billRuleCondition": {
        "formula": "",
        "keyView": ""
      }
    }
  ],
  "questions": [],
  "relyonCondition": {}
}

结构是这样的,我们要查询最底层uuid!按条件查bill下是一个数组 里面的bill还是一个数组那么要查最底层的uuid怎么查呢?
个人更喜欢用类似lambda这种方法毕竟这是一个有逼格又好看的操作:

SELECT content_json->'$.bill[*].bill[*].uuid' 
from  b 
WHERE JSON_CONTAINS(content_json->'$.bill[*].bill[*].uuid' ,'["cfd872541b3b4507a50c2b2eda6bef28"]')

查询结果 参数必须是json类型 string是不行的。

推荐教程:mysql视频教程

以上就是mysql有没有json类型?的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • 开发笔记:由数据库某字段存数组引发的json_encode/serialize思考
    开发笔记:由数据库某字段存数组引发的json_encode/serialize思考 ... [详细]
  • 本文详细介绍了在 Windows 7 系统中配置 Nginx 1.10.3 和 PHP 7.1.1 NTS 的步骤,包括修改 PHP 配置文件、处理依赖项以及创建批处理脚本启动和停止服务。重点解释了如何解决常见的运行时错误。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 在尝试从数据库获取设置的过程中,遇到了一个致命错误:Fatal error: Call to a member function bind_param() on boolean。本文将详细分析该错误的原因,并提供解决方案。 ... [详细]
  • 优化Jenkins首次启动速度
    本文详细描述了在启动Jenkins后遇到的长时间加载问题,并提供了一种通过修改更新中心配置文件来显著提升启动速度的有效解决方案。 ... [详细]
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 当unique验证运到图片上传时
    2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
author-avatar
品花人生1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有