在MYSQL 5.7.8版本开始,MYSQL支持原生的JSON数据类型
Json 数组使用[]来包含数据,数组中可以存放不同的数据类型,如:
["abc", 10, null, true, false]
Json数组中元素可以是普通类型,也可以是数组或Json对象,如:
Json 对象使用{}来包含数据,如:
{"k1": "value", "k2": 10}
Json的键值对的值部分可以是数组,也可以是Josn对象,如
{"k1": "value", "k2": [10, 20]}
使用JSON_TYPE() 函数来查看Json类型
SELECT JSON_TYPE('"hello"');
使用JSON_ARRAY()函数来生成JSON数组
SELECT JSON_ARRAY('a', 1, NOW());
使用JSON_OBJECT()来生成JSON对象
SELECT JSON_OBJECT('key1', 1, 'key2', 'abc');
使用 JSON_MERGE来合并数组
SELECT JSON_MERGE('["a", 1]', '{"key": "value"}');
使用CHARSET和COLLATION来查看JSON对象使用的字符集
SELECT CHARSET(@j), COLLATION(@j);
使用JSON_EXTRACT来获取JSON对象中特定KEY的VALUE,Key部分可以使用正在表达式或下标或keyName
SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name');
使用JSON_SET来设置JSON对象中特定KEY的值