当前位置: 首页>数据库>正文

mysql 指定字段转json 后 获取对应key的值 mysql转json函数

MySQL提供了一系列的JSON函数,用于解析、提取、修改和操作JSON数据。以下是一些常用的JSON函数及其功能。

以下所有操作都使用该表(zone_test)用来演示:

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_mysql,第1张

一:JSON_OBJECT(key1,value1,key2,value2)

        1、作用:

                用来创建一个JSON对象。可以指定键值对作为参数,返回一个JSON对象。

                键和值可以是字符串、数字、布尔值等。

        2、使用:

                创建一个JSON对象: 

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_数组_02,第2张

             可以在INSERTUPDATE语句中使用JSON_OBJECT()函数来插入或更新JSON字段的值:

INSERT INTO zone_test (name,age,drss_style) VALUES('clothes': '卫衣', 'hat': '棒球帽', 'trousers': '牛仔裤', 'shoe': '板鞋'))

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_mysql_03,第3张

 

二:JSON_ARRAY(value,value1,value2)

        1、作用:

                创建一个JSON数组。可以指定多个值作为参数,返回一个JSON数组。

                值可以是字符串、数字、布尔值等。

        2、使用:

                创建一个JSON数组

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_数组_04,第4张

              可以在INSERTUPDATE语句中使用JSON_ARRAY()函数来插入或更新JSON字段的值

INSERT INTO zone_test (name,age,drss_style,girl_friend) VALUES('王二麻子',48,JSON_OBJECT('帽子','棒球帽'),JSON_ARRAY('小红','小黄','小紫'))

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_mysql_05,第5张

三:JSON_EXTRACT(json_doc, path)

        1、作用:

                从JSON文档中提取指定路径的值。

                json_doc是JSON文档,path是要提取的JSON键的路径。

请注意,JSON键的路径必须用引号括起来,并且路径的开始必须是$

        2、使用:

                例如:我想要知道所有人的帽子都是什么?

          SELECT name,JSON_EXTRACT(drss_style, '$.hat') as hat from zone_test

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_JSON_06,第6张

 

四: JSON_SET(json_doc, path, value)

        1、作用:

                 设置JSON文档中指定路径的值。

如果路径存在,则替换现有的值;如果路径不存在,则添加新的键值对

请注意,JSON键的路径必须用引号括起来,并且路径的开始必须是$

        2、使用:

                例如:我想把李四的帽子改成“草帽”。

UPDATE zone_test SET drss_style = JSON_SET(drss_style,'$.hat','草帽') where name ='李四'

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_数组_07,第7张

五: JSON_INSERT(json_doc, path, value)

        1、作用:

                在JSON文档中指定路径处插入一个新的键值对。

                如果路径存在,则插入新的键值对;如果路径不存在,则不做任何操作

请注意,JSON键的路径必须用引号括起来,并且路径的开始必须是$

        2、使用:

                例如:我想再drss_style新增一个新的键值对,手表。

        UPDATE zone_test SET drss_style = JSON_INSERT(drss_style,'$.watch','华为手表') 

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_json_08,第8张

六:JSON_REMOVE(json_doc, path)

        1、作用:

                从JSON文档中删除指定路径的键值对。

                如果路径存在,则删除指定的键值对;如果路径不存在,则不做任何操作。

        2、使用:

                例如:我想删除王二麻子的watch这个键值对。

UPDATE zone_test SET drss_style = JSON_REMOVE(drss_style,'$.watch') where name='王二麻子'

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_mysql_09,第9张

七: JSON_REPLACE(json_doc, path, value)

        1、作用:

                替换JSON文档中指定路径的值。

如果路径存在,则替换现有的值;如果路径不存在,则不做任何操作。
                【跟JSON_SET的区别:json_set如果路径不存在,就新增】

        2、使用:

                例如:修改王二麻子的帽子跟手表这2项

UPDATE zone_test SET drss_style = JSON_REPLACE(drss_style,'$.watch','小米手表') where name='王二麻子';
UPDATE zone_test SET drss_style = JSON_REPLACE(drss_style,'$.hat','太阳帽') where name='王二麻子';

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_JSON_10,第10张

 

八: JSON_ARRAY_APPEND(json_doc, path, value)

        1、作用:

                在JSON文档中指定路径处的数组末尾追加一个新的值。

                如果路径存在且是一个数组,则在数组末尾追加新的值;

                如果路径不存在或不是一个数组,则不做任何操作。

        2、使用:

                例如:在boy_friend里追加一个数据

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_mysql_11,第11张

UPDATE zone_test SET drss_style = JSON_ARRAY_APPEND(drss_style,'$.boy_friend','吴磊') where name='王二麻子'; 

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_JSON_12,第12张

 

九: JSON_ARRAY_INSERT(json_doc, path, value)

        1、作用:

                在JSON文档中指定路径处的数组中插入一个新的值。

                如果路径存在且是一个数组,则在指定索引处插入新的值;

                如果路径不存在或不是一个数组,则不做任何操作。

        2、使用:

                例如:在霍建华跟吴磊中间插入一个黄凯。

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_JSON_13,第13张

UPDATE zone_test SET drss_style = JSON_ARRAY_INSERT(drss_style,'$.boy_friend[2]','黄凯') where name='王二麻子'; 

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_JSON_14,第14张

 

十:JSON_ARRAY_REMOVE(json_doc, path)

        1、作用:

                从JSON文档中指定路径处的数组中删除一个值。

                如果路径存在且是一个数组,并且指定的索引处有一个值,则删除该值;

                如果路径不存在或不是一个数组,或者指定的索引处没有值,则不做任何操作。

        2、使用:

                例如:把boy_friend里的霍建华删除掉。

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_JSON_15,第15张

UPDATE zone_test SET drss_style = JSON_ARRAY_REMOVE(drss_style,'$.boy_friend[1]') where name='王二麻子'; 

mysql 指定字段转json 后 获取对应key的值 mysql转json函数,mysql 指定字段转json 后 获取对应key的值 mysql转json函数_mysql_16,第16张

 


https://www.xamrdz.com/database/6rf1964162.html

相关文章: