当前位置: 首页 > news >正文

MYSQL--JSON_OBJECT 和 JSON_ARRAYAGG

JSON_OBJECT 和 JSON_ARRAYAGG 是 MySQL 中用于处理 JSON 数据类型的函数。这两个函数可以帮助你更轻松地构建和操作 JSON 数据。

JSON_OBJECT

JSON_OBJECT 函数用于生成一个 JSON 对象。你可以为这个函数提供一系列键值对,它会返回一个包含这些键值对的 JSON 对象。

语法:

 

sql复制代码

JSON_OBJECT(key1, val1, key2, val2, ..., keyN, valN)

示例:

 

sql复制代码

SELECT JSON_OBJECT('name', 'John', 'age', 30);

输出:

 

json复制代码

{"name": "John", "age": 30}

JSON_ARRAYAGG

JSON_ARRAYAGG 是一个聚合函数,用于将一组值聚合到一个 JSON 数组中。这对于将多行数据转换为一个 JSON 数组特别有用。

语法:

 

sql复制代码

JSON_ARRAYAGG(expr)

示例:

假设你有一个名为 students 的表,其中包含学生的姓名:

 

sql复制代码

CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);
INSERT INTO students (name) VALUES ('Alice'), ('Bob'), ('Charlie');

你可以使用 JSON_ARRAYAGG 来获取所有学生的姓名并将其放入一个 JSON 数组中:

 

sql复制代码

SELECT JSON_ARRAYAGG(name) AS student_names FROM students;

输出:

 

json复制代码

["Alice", "Bob", "Charlie"]

结合使用

你还可以结合使用 JSON_OBJECT 和 JSON_ARRAYAGG 来构建更复杂的 JSON 结构。例如,如果你想为每个学生生成一个包含其姓名和 ID 的 JSON 对象,并将这些对象放入一个数组中,你可以这样做:

 

sql复制代码

SELECT JSON_ARRAYAGG(JSON_OBJECT('id', id, 'name', name)) AS student_objects FROM students;

这将返回一个包含所有学生信息的 JSON 数组。

创建时间|更新时间

createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE 

相关文章:

  • Qt控制台项目也能使用opencv的imshow来显示摄像头视频
  • Playwright中page.locator快速查找网页元素和对象交互操作
  • Python刘诗诗
  • 使用axios时,函数内的this代表什么?
  • 【git】常用操作
  • MySQL中的视图
  • iOS runtime理解和应用场景
  • 前端性能基础测试研究
  • Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
  • CUDA下载安装与配置
  • 简单了解TCP/IP四层模型
  • 基于PHP的数字化档案管理系统
  • 接口隔离原则的实现方法及具体应用
  • VScode(Python)使用ssh远程开发(Linux系统树莓派)时,配置falke8和yapf总结避坑!最详细,一步到位!
  • Spring中的注释
  • 分享的文章《人生如棋》
  • 230. Kth Smallest Element in a BST
  • JAVA SE 6 GC调优笔记
  • javascript 哈希表
  • Java编程基础24——递归练习
  • k8s 面向应用开发者的基础命令
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Mithril.js 入门介绍
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • oschina
  • SOFAMosn配置模型
  • SQLServer插入数据
  • Vue2.x学习三:事件处理生命周期钩子
  • webpack+react项目初体验——记录我的webpack环境配置
  • 大主子表关联的性能优化方法
  • 多线程事务回滚
  • 和 || 运算
  • 扑朔迷离的属性和特性【彻底弄清】
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 使用权重正则化较少模型过拟合
  • 推荐一个React的管理后台框架
  • 微信小程序填坑清单
  • 我的面试准备过程--容器(更新中)
  • 一道闭包题引发的思考
  • 正则表达式
  • zabbix3.2监控linux磁盘IO
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (全注解开发)学习Spring-MVC的第三天
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】