前言
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。例如:
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 数据。例如:
INSERT INTO sys_dict (id, property9)VALUES (1, JSON_OBJECT('name', 'John', 'age', 30));
查询 JSON 数据
可以使用 JSON 函数和操作符来查询 JSON 数据。例如,可以使用 JSON_EXTRACT() 函数来提取 JSON 对象中的值,或者使用 JSON_CONTAINS() 函数来检查 JSON 对象是否包含某个值。例如:
SELECT JSON_EXTRACT(property9, '$.name') AS name FROM sys_dict WHERE id = 1;
更新 JSON 数据
我们可以使用 JSON 函数和操作符来更新 JSON 数据。例如,我们可以使用 JSON_SET() 函数来设置 JSON 对象中的值,或者使用 JSON_REPLACE() 函数来替换 JSON 对象中的值。例如:
UPDATE sys_dict SET property9= JSON_SET(property9, '$.age', 35) WHERE id = 1;
删除 JSON 数据
我们可以使用 JSON_SET() 函数来删除 JSON 对象中的值。例如:
UPDATE sys_dict SET property9 = JSON\_SET(property9,'$.name',null)WHERE id =1;
查询某个key对应的值,把key_name换成实际要查询的key值就行,比如name
SELECT property9 ->'$.key_name' AS value
FROM sys_dict