详细分析Mysql中的JSON_OBJECT() 基本知识(附Demo)

目录

  • 前言
  • 1. 基本知识
  • 2. Demo

前言

对于基本的命令行以及优化推荐阅读:

  1. 数据库中增删改常用语法语句(全)
  2. Mysql优化高级篇(全)
  3. 命令行登录Mysql的详细讲解

1. 基本知识

JSON_OBJECT() 是 MySQL 中用于生成 JSON 对象的函数

从一对或多对 key-value 参数创建一个 JSON 对象,其中每个 key 必须是字符串类型,而 value 可以是任何类型,包括字符串、数值、NULL、JSON 文本

基本语法如下:

JSON_OBJECT(key1, value1, key2, value2, ...)
  • key:必须是字符串类型
  • value:可以是任何类型(字符串、数值、NULL、JSON 等)

注意事项如下:

  • Key 必须是字符串:key 不是字符串类型,MySQL 会返回一个错误
  • Key 重复:如果在同一个 JSON_OBJECT() 函数中有重复的 key,后面的 key-value 对会覆盖前面的
  • NULL 处理:某个 value 是 NULL,那么生成的 JSON 对象中的对应 key 的值也是 NULL
  • 嵌套 JSON:可以嵌套使用,从而生成复杂的 JSON 结构
  • MySQL 版本:在 MySQL 5.7.8 及以上版本中引入的,因此需要确保 MySQL 版本支持此函数

2. Demo

基本的语句如下:SELECT JSON_OBJECT('id', 1, 'name', 'Alice', 'age', 30);

在这里插入图片描述

同样可处理Null值:SELECT JSON_OBJECT('id', 2, 'name', 'Bob', 'age', NULL);

在这里插入图片描述
嵌套JSON对象

SELECT JSON_OBJECT(
    'id', 3,
    'name', 'Carol',
    'address', JSON_OBJECT('city', 'New York', 'zip', '10001')
);

截图如下:

在这里插入图片描述
数组与 JSON_ARRAY() 的结合

SELECT JSON_OBJECT(
    'id', 4,
    'name', 'David',
    'scores', JSON_ARRAY(85, 90, 78)
);

截图如下:

在这里插入图片描述

当遇到多个key值一样,只会使用后面的key:SELECT JSON_OBJECT('id', 5, 'name', 'Eve', 'name', 'Eva');

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/689502.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

React实现在线预览word报告/本地选择报告预览

标题使用的核心技术点是docx-preview,读取到文件的File对象,用File去做文件展示,这里是才用将文件转base64字符串存储到localStorage中 在线预览word报告且包含word样式 下载需要使用的min.js文件进项目的public目录中(上zip已包…

html--party网页制作

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>fo安方party</title><style>body {f…

【PythonCode】力扣Leetcode21~25题Python版

【PythonCode】力扣Leetcode21~25题Python版 前言 力扣Leetcode是一个集学习、刷题、竞赛等功能于一体的编程学习平台&#xff0c;很多计算机相关专业的学生、编程自学者、IT从业者在上面学习和刷题。 在Leetcode上刷题&#xff0c;可以选择各种主流的编程语言&#xff0c;如C…

【CS.CN】优化HTTP传输:揭示Transfer-Encoding: chunked的奥秘与应用

文章目录 0 序言0.1 由来0.2 使用场景 1 Transfer-Encoding: chunked的机制2 语法 && 通过设置Transfer-Encoding: chunked优化性能3 总结References 0 序言 0.1 由来 Transfer-Encoding头部字段在HTTP/1.1中被引入&#xff0c;用于指示数据传输过程中使用的编码方式…

OlSoul系统调校程序v2024.06.05

软件介绍 OlSoul是一款能够适配用于Win各个系统的系统调校软件&#xff0c;OlSoul内置有众多调校功能可以直接使用&#xff0c;如有启用无线网络功能、启用打印机功能、系统快速休眠与休眠开关、快捷方式小箭头去除功能等&#xff0c;具体的调校功能多达几十项&#xff0c;可自…

vsCode双击文件才能打开文件,单击文件只能预览?

解决&#xff1a; 1、打开设置 2、搜索workbench.editor.enablePreview 3、更改为不勾选状态 4、关闭设置 效果&#xff1a; 现在单击一个文件时&#xff0c;将会在编辑器中直接打开&#xff0c;而非是预览状态。

51单片机-实机演示(LED点阵)

目录 前言: 一.线位置 二.扩展 三.总结 前言: 这是一篇关于51单片机实机LED点阵的插线图和代码说明.另外还有一篇我写的仿真的连接在这:http://t.csdnimg.cn/ZNLCl,欢迎大家的点赞,评论,关注. 一.线位置 接线实机图. 引脚位置注意: 1. *-* P00->RE8 P01->RE7 …

多源最短路径算法–Floyd算法

多源最短路径算法–Floyd算法 Floyd算法是为了求出每一对顶点之间的最短路径 它使用了动态规划的思想&#xff0c;将问题的求解分为了多个阶段 先来个例子&#xff0c;这是个有向图 Floyd算法的运行需要两个矩阵 最短路径矩阵 从当前这个状态看各顶点间的最短路径长度 例…

网络编程: 高级IO与多路转接select,poll,epoll的使用与介绍

网络编程: 高级IO与多路转接select,poll,epoll的使用与介绍 前言一.五种IO模型1.IO的本质2.五种IO模型1.五种IO模型2.同步IO与异步IO3.IO效率 二.非阻塞IO1.系统调用介绍2.验证代码 三.select多路转接1.系统调用接口2.写代码 : 基于select的TCP服务器1.封装的Socket接口2.开始写…

攻防世界---misc---Hear-with-your-Eyes

1、题目描述&#xff0c;下载附件&#xff0c;是一个.gz后缀的文件&#xff0c;查找资料发现&#xff0c;这个后缀是Linux系统的压缩包后缀。这里题目提示了用眼睛听音频&#xff0c;说明会有个音频&#xff0c;并且信息就在音频&#xff0c;可以用眼睛看到 2、将文件放在linux…

读书笔记-《软件定义安全》之二:SDN/NFV环境中的安全问题

第2章 SDN/NFV环境中的安全问题 1.架构安全 SDN强调了控制平面的集中化&#xff0c;从架构上颠覆了原有的网络管理&#xff0c;所以SDN的架构安全就是首先要解决的问题。例如&#xff0c;SDN实现中网络控制器相关的安全问题。 1.1 SDN架构的安全综述 从网络安全的角度&…

C++面向对象程序设计 - 文件操作与文件流

在实际应用中&#xff0c;常以磁盘文件作为对象&#xff0c;即能从磁盘文件读取数据&#xff0c;也能将数据输出到磁盘文件&#xff0c;磁盘是计算机的外部存储器&#xff0c;能够长期保留信息&#xff0c;能读能写&#xff0c;可以刷新重写等等。 在C中&#xff0c;文件操作通…

【Java】Java18的新特性

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

第四篇红队笔记-百靶精讲之Prime-wfuzz-wpscan-openssl enc

靶机Prime渗透 主机发现 nmap扫描与分析 目录爆破与模糊测试 dirb 目录扫描 dev secret.txt wfuzz发现 file参数 根据secret.txt-location.txt 和 file参数结合 secrettier360 根据filelocation.txt得到的on some other php page&#xff08;改用之前扫到image.p…

mqtt-emqx:设置遗嘱消息

【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>org.eclipse…

新书推荐:2.2.4 第11练:消息循环

/*------------------------------------------------------------------------ 011 编程达人win32 API每日一练 第11个例子GetMessage.c&#xff1a;消息循环 MSG结构 GetMessage函数 TranslateMessage函数&#xff1a;将虚拟键消息转换为字符消息 DispatchMessage函数…

Vue根据后端返回的tabList动态渲染组件信息

最近做了一个功能&#xff0c;后端根据配置信息&#xff0c;动态返回一个tabList&#xff0c;其中结构是List<String,Object> tabList; map里面的数据是 label、value 页面需要根据tablist动态渲染组件&#xff08;不同的tab都使用了组件进行了封装&#xff09; 实现效果…

解决福昕风腾PDF套装无法打印在线电子签章的方法

使用福昕风腾PDF套装打印在线电子签章文件时发现&#xff0c;在线盖的电子印章和签名却打印不出来&#xff0c;后现发现&#xff0c;按图中选项选择“文档”&#xff0c;即可完整打印文件内容及电子签章。留印。

【PL理论】(8) F#:列表高阶函数之 filter 函数 | 内联谓词函数 | 链式操作:先过滤再映射

&#x1f4ad; 写在前面&#xff1a;上一章中&#xff0c;我们详细讲解了列表的合并&#xff0c;本章我们来详细讲解一下列表的过滤&#xff0c;在 F# 中&#xff0c;过滤列表是指从列表中提取满足某个条件的元素&#xff0c;形成一个新的列表。这个操作通常使用 List.filter 函…

超详解——Python模块文档——小白篇

目录 1. Unix起始行 示例&#xff1a; 2. 对象和类型 示例&#xff1a; 3. 一切都是对象 示例&#xff1a; 4. 理解对象和引用 示例&#xff1a; 5. 理解对象和类型 示例&#xff1a; 6. 标准类型 示例&#xff1a; 7. 其他内建类型 示例&#xff1a; 8. 类型的类…