日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql5.7json查询_MySql5.7 json查询

發布時間:2023/12/19 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql5.7json查询_MySql5.7 json查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

create table t1(name json);

insert into t1 values(’ {

“hello”: “song”,

“num”: 111,

“obj”: { “who”: “me”, “arr”: [ 1, 2, “three” ], “more”:“hey” },

“bool”: true,

“can”: false,

“learning”: null,

“chiness”: “中文”

}' );

mysql> select json_depth(name) from t1;

返回json文本的深度 輸出結果----4;

1 rows in set (0.02 sec)

mysql> select json_length(name) from t1;

返回json文本的長度 輸出結果----9

1 rows in set (0.01 sec)

mysql> select json_type(name) from t1;

返回json值得類型 輸出結果----OBJECT

1 rows in set (0.04 sec)

mysql> SELECT JSON_VALID(‘hello’) a, JSON_VALID(‘“hello”’) b;

判讀是否是合法的json類型 返回結果:a:0 b:1

1 row in set (0.00 sec)

mysql> select json_keys(name) as a from t1;

查看存儲的json有哪些key 返回結果:array[

'a'=> [“hello”, “link”, “can”, “num”, “bool”, “learning”, “notLink”, “obj”, “chiness”],

]

1 rows in set (0.05 sec)

mysql> select json_keys(name,’obj’) as a from t1;

查看obj有哪些key 返回結果:array['a' =>[“more”,“who”,“arr”]]

5rowsinset(0.00sec)

mysql>select jsonsearch(name,′one′,′me′) as a from t1;

查看第一次出現的位置 返回結果:array['“.obj.who”']

mysql> select json_search(name,’all’,’%aaaaa%’) as a from t1;

查看所有包含aaaaa的位置 返回結果:aaaaa所在的key json_search(name,’all’,’%json%’)

1rows in set (0.00 sec)

mysql> select json_extract(name,’link[0]’) as a from t1;

抽取值 返回結果:查找的key所對應的value 如:“http://jsonview.com

1 rows in set (0.00 sec)

mysql> select json_extract(name,’obj[0].more[0]’) from t1;

抽取值 返回結果同上

1 rows in set (0.00 sec)

或者使用下面的方式

mysql> select name,name->’key2’ from t1;

{“key1”: “value1”, “key2”: “value2”} | “value2” |

mysql> select JSON_ARRAY_APPEND(name,’name’,’xxx’) from t1;

追加記錄 在指定的json字段追加key-value 參數(字段名,key,value)

mysql> select JSON_REMOVE(name,’name’) from t1;

刪除json數據 參數(字段名,key)

mysql> select JSON_set(name,’name’,’ooo’) from t1;

有就替換,沒有就insert

mysql> SELECT JSON_UNQUOTE(JSON_EXTRACT(name, ‘name’)) AS name from t1;

查詢結果去掉雙引號 返回字段name中的key為name的集合,沒有“”

因為 JSON 不同于字符串,所以如果用字符串和 JSON 字段比較,是不會相等的可以通過

where key->'$.value'的形式去查詢 ->和->>結果等效

總結

以上是生活随笔為你收集整理的mysql5.7json查询_MySql5.7 json查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。