mysql的json数据类型

MySQL中JSON类型字段的基本用法实例

在MySQL 5.7及更高版本中,引入了JSON数据类型,用于存储和操作JSON格式的数据,JSON是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,本文将介绍MySQL中JSON类型字段的基本用法实例。

mysql的json数据类型

1、创建表并添加JSON类型字段

我们需要创建一个包含JSON类型字段的表,以下是一个简单的示例:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    age INT,
    address JSON
);

在这个示例中,我们创建了一个名为users的表,其中包含一个名为address的JSON类型字段。

2、插入JSON数据

向JSON类型字段插入数据时,可以使用JSON格式的字符串,以下是插入JSON数据的示例:

INSERT INTO users (name, age, address)
VALUES ('张三', 25, '{"city": "北京", "street": "朝阳路"}');

在这个示例中,我们将一个包含城市和街道信息的JSON字符串插入到address字段中。

3、查询JSON数据

查询JSON类型字段时,可以使用内置的JSON函数来提取和操作数据,以下是查询JSON数据的示例:

SELECT id, name, age, address->'$.city' AS city, address->'$.street' AS street
FROM users;

在这个示例中,我们使用->操作符从address字段中提取了citystreet属性的值,注意,我们需要使用$符号来访问JSON对象的属性。

4、更新JSON数据

更新JSON类型字段时,可以直接修改JSON字符串,以下是更新JSON数据的示例:

mysql的json数据类型

UPDATE users
SET address = '{"city": "上海", "street": "南京路"}'
WHERE id = 1;

在这个示例中,我们将address字段中的城市信息更新为上海。

5、删除JSON数据

删除JSON类型字段中的数据时,可以直接将其设置为空字符串,以下是删除JSON数据的示例:

UPDATE users
SET address = ''
WHERE id = 1;

在这个示例中,我们将address字段中的数据删除。

6、其他常用JSON函数

除了上述示例中使用的->操作符外,MySQL还提供了许多其他常用的JSON函数,如:

JSON_EXTRACT(json_doc, path[, path] ...):从JSON文档中提取指定路径的值。

JSON_UNQUOTE(json_val):去除JSON值的引号。

JSON_ARRAY([value[, value] ...]):创建一个JSON数组。

JSON_OBJECT([key, value[, key, value] ...]):创建一个JSON对象。

ISNULL(expression):检查表达式是否为NULL,如果表达式为NULL,则返回1;否则返回0。

mysql的json数据类型

IFNULL(expression1, expression2):如果表达式1为NULL,则返回表达式2的值;否则返回表达式1的值。

JSON_LENGTH(json_val):返回JSON值的长度(以字节为单位)。

JSON_TYPE(json_val):返回JSON值的类型(如'null'、'object'、'array'、'string'、'number'或'boolean')。

JSON_DEPTH(json_val):返回JSON值的深度(即嵌套层级数)。

JSON_SEARCH(json_val, one_or_all, search_str[, escape_char[, path] ...]):在JSON值中搜索指定的字符串,如果找到匹配项,则返回其路径;否则返回NULL。

JSON_CONTAINS(json_val, one_or_all, search_str[, escape_char[, path] ...]):检查JSON值是否包含指定的字符串,如果找到匹配项,则返回1;否则返回0。

JSON_KEYS(json_val[, path]):返回指定路径的JSON对象的键列表,如果没有指定路径,则返回根对象的键列表。

JSON_LENGTH(json_val[, path]):返回指定路径的JSON对象的键数量,如果没有指定路径,则返回根对象的键数量。

JSON_MERGE(json_doc1, json_doc2[, path]):将第二个JSON文档合并到第一个JSON文档中,并覆盖相同的键值对,如果没有指定路径,则将第二个文档合并到根对象中。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/339686.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-02-29 10:33
Next 2024-02-29 10:36

相关推荐

  • 如何诊断并解决GaussDB(for MySQL)数据库连接数达到上限的问题?

    当MySQL数据库连接数满时,排查思路如下:,,1. 查看当前连接数:使用show status like 'Connections';命令查看当前连接数。,2. 查看最大连接数:使用show variables like 'max_connections';命令查看最大连接数。,3. 优化程序代码:检查并优化程序代码,确保连接被正确关闭。,4. 增加最大连接数:如果需要,可以增加最大连接数以支持更多并发连接。

    2024-08-13
    054
  • MySQL中EMP的含义及作用分析

    在MySQL数据库中,EMP通常是指“员工表”(Employee Table),它是人力资源管理系统(HRMS)中一个非常关键的部分,该表用于存储和管理公司所有员工的相关信息,以下是对MySQL中EMP表的含义及作用的详细分析:EMP表结构一个标准的EMP表可能包含以下字段:1、emp_id:员工的唯一标识符,通常是主键。2、firs……

    2024-04-06
    0183
  • mysql中如何设置文本排序

    您可以使用MySQL的ORDER BY子句来对文本进行排序。ORDER BY子句用于对结果集进行排序,可以按照一个或多个列进行排序。如果您想按照文本的字母顺序进行排序,可以使用ASC关键字,否则使用DESC关键字。以下语句将按照名称字段的字母顺序对表中的行进行排序:SELECT * FROM table_name ORDER BY name ASC;

    2024-01-05
    0184
  • 如何在MySQL数据库中显示行号并利用函数访问数据?

    在MySQL数据库中,可以使用ROW_NUMBER()函数来显示行号。要访问MySQL数据库,首先需要安装MySQL客户端或使用编程语言中的MySQL库,然后通过提供正确的连接信息(如主机名、用户名、密码等)建立连接。

    2024-08-11
    045
  • mysql中实现多表关联查询的方法及注意事项是

    在MySQL中,多表关联查询是一种常见的操作,它可以帮助我们将多个表中的数据进行组合,以便更好地分析和处理数据,本文将介绍如何在MySQL中实现多表关联查询的方法及注意事项。多表关联查询的基本原理多表关联查询是指在一个查询语句中,涉及到两个或多个表的连接操作,在MySQL中,主要有以下几种关联方式:内连接(INNER JOIN)、左连……

    2024-03-27
    0158
  • 如何在Linux上成功设置MySQL数据库服务器?

    在Linux上创建MySQL数据库服务器,首先需要安装MySQL服务器软件,然后使用"CREATE DATABASE 数据库名;"命令创建数据库。

    2024-08-06
    049

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入