以下是 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 字段数据的增、删、改、查等功能。