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

相关推荐

  • mac mysql密码忘记了怎么办

    在Mac操作系统中,MySQL是一种广泛使用的数据库管理系统,由于各种原因,我们可能会忘记MySQL的密码,在这种情况下,我们需要采取一些步骤来重置或恢复密码,以下是一些可能的解决方案:1、使用MySQL自带的命令行工具MySQL自带了一个名为mysqldump的命令行工具,我们可以使用它来重置密码,我们需要停止正在运行的MySQL服……

    2024-03-09
    0156
  • 在MySQL中,如何利用_Hint指定表的查询块名和schema名?

    在MySQL中,查询表名时可以使用_Hint来指定表的查询块名和schema名。通过在查询语句中使用_Hint关键字,可以告诉数据库优化器使用特定的索引或查询块来执行查询操作。这样可以提高查询性能并减少查询时间。

    2024-08-12
    054
  • 如何在Linux环境下实现MySQL数据库的备份操作?

    在Linux下备份MySQL数据库,可以使用mysqldump命令。首先确保已经安装了MySQL客户端工具,然后通过以下命令进行备份:,,``,mysqldump u 用户名 p 数据库名 ˃ 备份文件名.sql,``,,将“用户名”替换为实际的MySQL用户名,“数据库名”替换为要备份的数据库名称,“备份文件名”替换为你想要的备份文件名称。在执行命令时,系统会提示输入密码。

    2024-07-22
    058
  • 如何在MySQL中查看已创建数据库的建表语句?

    在MySQL中,创建数据库的语句是CREATE DATABASE 数据库名;,查看已创建表的语句是SHOW TABLES;。

    2024-08-16
    061
  • 怎么通过shell脚本批量操作mysql数据库

    简介Shell脚本是一种强大的工具,它可以让我们通过命令行来操作和管理计算机,在本文中,我们将介绍如何通过Shell脚本批量操作MySQL数据库,包括连接数据库、执行SQL语句、处理结果等。安装MySQL客户端在使用Shell脚本操作MySQL数据库之前,我们需要先安装MySQL客户端,在Linux系统中,可以使用以下命令安装:sud……

    2023-12-16
    0121
  • 如何在命令行中登录MySQL数据库?

    要在命令行登陆MySQL数据库,首先确保已经安装了MySQL并且MySQL服务器正在运行。然后打开命令行工具,输入以下命令:,,``,mysql u 用户名 p,``,,将“用户名”替换为实际的MySQL用户名。按Enter键后,系统会提示输入密码。输入密码后,如果认证成功,您将登陆到MySQL数据库。

    2024-08-10
    074

发表回复

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

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