MySQL 操作 JSON 类型字段的函数

以下是 MySQL 中操作 JSON 类型字段常用的函数及使用方法的详细说明。

JSON_EXTRACT()

JSON_EXTRACT() 函数用于从 JSON 对象或数组中提取特定的数据。它的语法如下:

JSON_EXTRACT(json_doc, path[, path] ...)

参数说明:

  • json_doc:必选参数,要从中提取数据的 JSON 对象或数组,可以是 JSON 类型的字段、变量或字面量。
  • path:必选参数,用于指定要提取的数据的路径,可以使用 $ 作为根节点,使用 .[] 访问对象的属性或数组的元素。

举例:

SELECT JSON_EXTRACT('{"name": "Alice", "age": 23}', '$.name');  -- 输出:Alice
SELECT JSON_EXTRACT('[1, 2, 3]', '$[1]');  -- 输出:2

JSON_INSERT()

JSON_INSERT() 函数用于向 JSON 对象或数组中插入数据。它的语法如下:

JSON_INSERT(json_doc, path, value[, path, value] ...)

参数说明:

  • json_doc:必选参数,要插入数据的 JSON 对象或数组,可以是 JSON 类型的字段、变量或字面量。
  • path:必选参数,用于指定要插入数据的路径,可以在对象中使用 . 或在数组中使用索引号。
  • value:必选参数,要插入的数据,可以是字面量、数字、字符串或其他 JSON 类型。

举例:

SELECT JSON_INSERT('{"name": "Alice"}', '$.age', 23);  -- 输出:{"name": "Alice", "age": 23}
SELECT JSON_INSERT('[1, 2, 3]', '$[3]', 4);  -- 输出:[1, 2, 3, 4]

JSON_REPLACE()

JSON_REPLACE() 函数用于替换 JSON 对象或数组中的数据。它的语法如下:

JSON_REPLACE(json_doc, path, value[, path, value] ...)

参数说明:

  • json_doc:必选参数,要替换数据的 JSON 对象或数组,可以是 JSON 类型的字段、变量或字面量。
  • path:必选参数,用于指定要替换数据的路径,可以在对象中使用 . 或在数组中使用索引号。
  • value:必选参数,要替换的数据,可以是字面量、数字、字符串或其他 JSON 类型。

举例:

SELECT JSON_REPLACE('{"name": "Alice", "age": 23}', '$.age', 24);  -- 输出:{"name": "Alice", "age": 24}
SELECT JSON_REPLACE('[1, 2, 3]', '$[2]', 4);  -- 输出:[1, 2, 4]

JSON_REMOVE()

JSON_REMOVE() 函数用于从 JSON 对象或数组中删除数据。它的语法如下:

JSON_REMOVE(json_doc, path[, path] ...)

参数说明:

  • json_doc:必选参数,要删除数据的 JSON 对象或数组,可以是 JSON 类型的字段、变量或字面量。
  • path:必选参数,用于指定要删除的数据的路径,可以在对象中使用 . 或在数组中使用索引号。

举例:

SELECT JSON_REMOVE('{"name": "Alice", "age": 23}', '$.age');  -- 输出:{"name": "Alice"}
SELECT JSON_REMOVE('[1, 2, 3]', '$[1]');  -- 输出:[1, 3]

JSON_CONTAINS()

JSON_CONTAINS() 函数用于判断 JSON 对象或数组是否包含指定的数据。它的语法如下:

JSON_CONTAINS(json_doc, val[, path])

参数说明:

  • json_doc:必选参数,被判断的 JSON 对象或数组,可以是 JSON 类型的字段、变量或字面量。
  • val:必选参数,要判断的数据,可以是字面量、数字、字符串或其他 JSON 类型。
  • path:可选参数,用于指定要判断的数据的路径,可以在对象中使用 . 或在数组中使用索引号。

返回值说明:

如果 json_doc 包含指定的数据 val,则返回 1,否则返回 0。

举例:

SELECT JSON_CONTAINS('{"name": "Alice", "age": 23}', '23', '$');  -- 输出:1
SELECT JSON_CONTAINS('[1, 2, 3]', '2', '$');  -- 输出:1

以上就是 MySQL 中操作 JSON 类型字段常用函数的详细说明,它们能够实现对 JSON 字段数据的增、删、改、查等功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值