首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL新类型JSON的用法讲解

MySQL新类型JSON的用法讲解

原创
作者头像
小明爱吃火锅
发布2023-11-17 17:43:39
发布2023-11-17 17:43:39
7540
举报
文章被收录于专栏:小明说Java小明说Java

前言

MySQL相信大家应该不陌生吧,都知道MySQL有很多数据类型,包括int,char,verchar,这些也是平时建表使用比较多的类型,在MySQL 8引入了新的数据类型——JSON,它使得在数据库中存储和查询 JSON 数据变得更加容易。本文主要是来讲解MySQL新类型JSON的用法讲解。

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,它使用 JavaScript 的语法来表示结构化数据。JSON 数据格式具有简单、易于阅读和编写等优点,因此在 Web 开发和 API 集成中得到广泛应用。

在 MySQL 中,JSON 数据类型可以存储和查询 JSON 格式的数据。JSON 数据可以存储在列中,并且可以通过 JSON 函数和操作符来查询和处理,相当可以在数据库字段中存储对象数据或者key-value数据。

新类型JSON用法

下面是一些关于 MySQL 中 JSON 数据类型的用法和代码示例,主要是讲解如何定义JSON类型,以及对应的增删查改

创建包含 JSON 列的表

首先,创建一个包含 JSON 列的表。在创建表时,可以指定某个列的数据类型为 JSON。例如:

代码语言:sql
复制
CREATE TABLE `sys_dict` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `property9` json DEFAULT NULL COMMENT '属性9',
  PRIMARY KEY (`id`) USING BTREE,
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='字典表';

插入 JSON 数据

可以向 JSON 列中插入 JSON 数据。插入 JSON 数据时,可以使用 JSON_OBJECT() 函数来构建 JSON 对象,或者使用其他 JSON 函数来处理 JSON 数据。例如:

代码语言:sql
复制
INSERT INTO sys_dict (id, property9)

VALUES (1, JSON_OBJECT('name', 'John', 'age', 30));

查询 JSON 数据

可以使用 JSON 函数和操作符来查询 JSON 数据。例如,可以使用 JSON_EXTRACT() 函数来提取 JSON 对象中的值,或者使用 JSON_CONTAINS() 函数来检查 JSON 对象是否包含某个值。例如:

代码语言:sql
复制
SELECT JSON_EXTRACT(property9, '$.name') AS name FROM sys_dict WHERE id = 1;

更新 JSON 数据

我们可以使用 JSON 函数和操作符来更新 JSON 数据。例如,我们可以使用 JSON_SET() 函数来设置 JSON 对象中的值,或者使用 JSON_REPLACE() 函数来替换 JSON 对象中的值。例如:

代码语言:sql
复制
UPDATE sys_dict SET property9= JSON_SET(property9, '$.age', 35) WHERE id = 1;

删除 JSON 数据

我们可以使用 JSON_SET() 函数来删除 JSON 对象中的值。例如:

代码语言:sql
复制
UPDATE sys_dict  SET property9 = JSON\_SET(property9,'$.name',null)WHERE id =1;

查询某个key对应的值,把key_name换成实际要查询的key值就行,比如name

代码语言:sql
复制
SELECT property9 ->'$.key_name' AS value  
FROM sys_dict  

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 新类型JSON用法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档