代码编织梦想

MySQL中的JSON类型是一种数据类型,用于存储和处理JSON(JavaScript Object Notation)格式的数据。JSON是一种轻量级的数据交换格式,它以简洁的格式表示复杂的数据结构,包括数组和对象等。

MySQL支持JSON类型的列,可以在JSON数据中存储和检索数据。在MySQL中,可以使用一些内置的函数来操作JSON类型的数据,例如: 

  • JSON_EXTRACT: 用于提取JSON数据中的指定值或对象。
  • JSON_OBJECT: 用于创建一个JSON对象。
  • JSON_ARRAY: 用于创建一个JSON数组。
  • JSON_CONTAINS: 用于检查JSON数据中是否包含指定的值或对象。

使用JSON类型在MySQL的三大好处:

  1. 存储和检索复杂数据:JSON类型可以存储和检索复杂的数据结构,例如嵌套的数组和对象,这对于一些需要处理复杂数据的应用程序非常有用。

  2. 灵活性:由于JSON是一种轻量级的数据交换格式,因此使用JSON类型的列可以提供更大的灵活性,可以存储和处理不同类型的数据。

  3. 查询效率:在一些场景下,使用JSON类型的列可以提高查询效率。例如,如果需要在某个JSON对象的多个属性中查找某个值,使用JSON类型可以将这些属性合并为一个列,从而减少查询时间。

一些使用JSON类型的具体情况:

  1. 存储配置信息:可以将应用程序的配置信息存储为JSON对象,这样可以轻松地添加、删除或修改配置项。

  2. 存储用户数据:可以将用户数据存储为JSON对象,例如用户的收货地址、偏好设置等。

  3. 存储日志信息:可以将日志信息存储为JSON对象,例如用户的活动记录、应用程序的错误日志等。

  4. 存储产品数据:可以将产品数据存储为JSON对象,例如产品的属性、特征等。

需要注意的是,使用JSON类型的列也有一些限制。例如,不能对JSON对象中的某个属性进行索引,因此在一些需要频繁查询JSON数据的场景下,可能需要重新考虑存储方案

使用JSON类型的主要情况是需要存储和处理具有复杂结构的数据,例如嵌套的对象和数组。下面列出了一些常见的使用场景:

  1. 存储动态数据:当数据的结构是不确定的,或者需要频繁地修改数据结构时,使用JSON类型可以方便地存储和检索数据。

  2. 存储日志数据:当需要存储大量的日志数据,并且需要进行搜索、过滤、聚合等操作时,使用JSON类型可以方便地存储和查询日志数据。

  3. 存储配置信息:当需要存储复杂的应用程序配置信息时,使用JSON类型可以方便地存储和修改配置信息。

  4. 存储用户数据:当需要存储用户信息,例如收货地址、偏好设置、社交网络信息等时,使用JSON类型可以方便地存储和检索用户数据。

  5. 存储产品数据:当需要存储产品的属性、特征、变体等信息时,使用JSON类型可以方便地存储和检索产品数据。

UPDATE products       #JSON_OBJECT函数创建属性
SET properties = JSON_OBJECT(
		'weight', 10,
		'dimensions', JSON_ARRAY(1, 2, 3),
		'manufacturer', JSON_OBJECT('name', 'sony')
)
WHERE product_id = 1;
SELECT     #如何提取JSON对象的不同部分内容
		product_id, 
		properties -> '$.weight' AS weight,
		properties -> '$.dimensions[0]'  #得到数组的第一个项目
		properties ->> '$.manufacturer.name' #去除字符串的双引号
FROM products
WHERE product_id = 1;
-- WHERE properties ->> '$.manufacturer.name' = 'sony';

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/uteundilse/article/details/129625350

MySQL中JSON数据类型详解-爱代码爱编程

一、JSON简介 1. 什么是JSON 全称是JavaScript Object Notation,一种轻量级的数据交换格式 特点:简洁、清晰、灵活、易于阅读、直观 2. 如何表示 最直观的是以key : value的形式表示 对象:用‘{}’eg:{“k1”: “value”, “k2”: 10}键值对形式存在 数组:用‘[]’eg:[

Mybaties的原理及使用-爱代码爱编程

Mybaties的使用 首先要在maven项目中导入两个依赖包; 在pom.xml中加 这两个依赖, mysql-connector-java用来加载驱动连接数据库 mybatis则用来加载mybaties的功能 在这里插入图片描述 这个是我在resources源文件夹下建的xml文件,用来连接数据库 这个用来建造数据连接数据库,类似于jdbc 而需要

mysql json类型最大长度限制_MySQL json 数据类型-爱代码爱编程

必须要5.7以上版本才能使用 写在开头 mysql json 的功能很强大,只是用来当一个储存数据的字段 就没什么意义了。 使用proto做交互的话,只要JSON 写得好 用proro.Unmarshal() 就可以很方便的转换类型 可以精简很多代码 JSON path 是以 $ 开头,之后就是JSON的层级使用。$ $[0].n

mysql中json类型字段用法_asdfadafd的博客-爱代码爱编程

前言 mysql从5.7.8版本开始原生支持了JSON类型数据,同时可以对JSON类型字段中的特定的值进行查询和更新等操作,通过增加JSON类型的属性可以大大的提高我们在mysql表中存储的数据的拓展性,无需每次新增字段时

java处理 mysql中json类型_大可爱_01的博客-爱代码爱编程

当数据库中存在json类型的数据,如图 json类型的值在数据库中保存的时候,会先字母排序并加空格后保存 场景:业务上需要校验,此json字段是否跟库里的json完全匹配(验重) 原理:利用mysql的cast json方法,把json完成转换为跟库里匹配的格式后,查询 SELECT Id, `Name`, `Status`, Task

mysql中json类型添加索引_哦哦一人的博客-爱代码爱编程

在5.7版本之后 mysql引入新类型“json” 但是在数据量大的情况加 直接搜索json中的内容会造成慢sql 于是便想办法如何给json加上索引 但是json类型本身是不支持索引的 于是另辟蹊径   发现了一个新特性 虚拟字段 首先对旧表做新增字段处理 加入虚拟字段  虚拟字段的值来源为json中数据 alter table 表名