常用的 MySQL JSON 函数
JSON_OBJECT:用于创建一个 JSON 对象。
SELECT JSON_OBJECT('name', 'Alice', 'age', 25);
# {"name": "Alice", "age": 25}
JSON_ARRAY:用于创建一个 JSON 数组。
SELECT JSON_ARRAY('apple', 'banana', 'cherry');
["apple", "banana", "cherry"]
JSON_EXTRACT:用于提取 JSON 对象中的值。
SELECT JSON_EXTRACT('{"name": "Alice", "age": 25}', '$.name');
"Alice"
JSON_CONTAINS:用于判断 JSON 数组或对象是否包含一个特定的键或值。
SELECT JSON_CONTAINS('["apple", "banana", "cherry"]', '"banana"');
1
JSON_CONTAINS_PATH:用于判断 JSON 对象是否包含一个特定的路径。
SELECT JSON_CONTAINS_PATH('{"name": {"first": "Alice", "last": "Smith"}}', 'one', '$.name.first');
0
JSON_SEARCH:用于查找 JSON 数组或对象中的一个特定值。
SELECT JSON_SEARCH('{"name": {"first": "Alice", "last": "Smith"}}', 'Alice');
"$.name.first"
JSON_SET:用于修改 JSON 对象中的值。
SELECT JSON_SET('{"name": {"first": "Alice", "last": "Smith"}}', '$.name.first', 'Bob');
{"name": {"first": "Bob", "last": "Smith"}}
JSON_REMOVE:用于删除 JSON 对象中的一个键或路径。
SELECT JSON_REMOVE('{"name": {"first": "Alice", "last": "Smith"}}', '$.name.first');
{"name": {"last": "Smith"}}
JSON_REPLACE:用于替换 JSON 对象中的一个键或路径的值。
SELECT JSON_REPLACE('{"name": {"first": "Alice", "last": "Smith"}}', '$.name.first', 'Bob');
{"name": {"first": "Bob", "last": "Smith"}}
JSON_KEYS:用于返回 JSON 对象中的所有键。
SELECT JSON_KEYS('{"name": {"first": "Alice", "last": "Smith"}}')
["name"]
JSON_LENGTH:用于返回 JSON 数组或对象中的元素数量。
SELECT JSON_LENGTH('["apple", "banana", "cherry"]');
3
JSON_TYPE:用于返回 JSON 值的数据类型。
SELECT JSON_TYPE('{"name": {"first": "Alice", "last": "Smith"}}');
"object"