📜  mysql json 获取值 - Javascript (1)

📅  最后修改于: 2023-12-03 14:44:27.130000             🧑  作者: Mango

在 MySQL 中使用 JSON 获取值

MySQL 5.7.8 及以上版本支持 JSON 数据类型,这使得操作 JSON 数据变得非常方便。本文将向程序员介绍如何在 MySQL 中使用 JSON 获取值。

JSON 数据类型介绍

JSON 是一种轻量级的数据交换格式,常用于 Web 应用程序之间的数据传输。MySQL 5.7.8 及以上版本引入了 JSON 数据类型,使得 MySQL 可以直接存储、操作和查询 JSON 数据。

在 MySQL 中,JSON 数据可以表示为字符串,使用 JSON_OBJECT()JSON_ARRAY()JSON_QUOTE() 等函数可以将 JSON 数据转换为 MYSQL 中的 JSON 格式。

获取 JSON 中的值

要从 JSON 数据中检索值,可以使用 ->->> 运算符(箭头运算符)。其中 -> 运算符返回 JSON 对象或数组的元素或属性,而 ->> 运算符返回字符串值。

以以下 JSON 数据为例:

{
    "person": {
        "name": "tom",
        "age": 20,
        "address": {
            "province": "guangdong",
            "city": "guangzhou"
        }
    }
}

可以使用以下 SQL 语句获取 JSON 数据中的值:

SELECT 
  JSON_EXTRACT('{
    "person": {
      "name": "tom",
      "age": 20,
      "address": {
        "province": "guangdong",
        "city": "guangzhou"
      }
    }
  }', '$.person.name') AS name,  // 获取 name 值
  JSON_EXTRACT('{
    "person": {
      "name": "tom",
      "age": 20,
      "address": {
        "province": "guangdong",
        "city": "guangzhou"
      }
    }
  }', '$.person.address.city') AS city  // 获取城市名称

在上述示例中,我们使用 JSON_EXTRACT() 函数获取 JSON 数据中的值。 $ 符号用于指定 JSON 路径,以便返回我们需要的值。

下面是输出:

+------+------------+
| name | city       |
+------+------------+
| "tom" | "guangzhou"|
+------+------------+
总结

我们已经介绍了如何在 MySQL 中使用 JSON 获取值。使用 JSON 数据类型和相关函数,可以轻松存储和检索 JSON 数据。MySQL 还提供了其他有用的 JSON 函数,如 JSON_SEARCH()JSON_CONTAINS()JSON_MERGE() 等,这些函数可以大大简化我们的工作。