黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL處理JSON常見函數(shù)的使用

瀏覽:10日期:2023-10-05 10:23:05

官方文檔:JSON Functions

Name Description JSON_APPEND() Append data to JSON document JSON_ARRAY() Create JSON array JSON_ARRAY_APPEND() Append data to JSON document JSON_ARRAY_INSERT() Insert into JSON array -> Return value from JSON column after evaluating path; equivalent to JSON_EXTRACT(). JSON_CONTAINS() Whether JSON document contains specific object at path JSON_CONTAINS_PATH() Whether JSON document contains any data at path JSON_DEPTH() Maximum depth of JSON document JSON_EXTRACT() Return data from JSON document ->> Return value from JSON column after evaluating path and unquoting the result; equivalent to JSON_UNQUOTE(JSON_EXTRACT()). JSON_INSERT() Insert data into JSON document JSON_KEYS() Array of keys from JSON document JSON_LENGTH() Number of elements in JSON document JSON_MERGE() Merge JSON documents JSON_OBJECT() Create JSON object JSON_QUOTE() Quote JSON document JSON_REMOVE() Remove data from JSON document JSON_REPLACE() Replace values in JSON document JSON_SEARCH() Path to value within JSON document JSON_SET() Insert data into JSON document JSON_TYPE() Type of JSON value JSON_UNQUOTE() Unquote JSON value JSON_VALID() Whether JSON value is valid

1. 概述

MySQL里的json分為json array和json object。 $表示整個(gè)json對象,在索引數(shù)據(jù)時(shí)用下標(biāo)(對于json array,從0開始)或鍵值(對于json object,含有特殊字符的key要用'括起來,比如$.'my name')。

例如:[3, {'a': [5, 6], 'b': 10}, [99, 100]],那么:

$[0]:3

$[1]: {'a': [5, 6], 'b': 10}

$[2] :[99, 100]

$[3] : NULL

$[1].a:[5, 6]

$[1].a[1]:6

$[1].b:10

$[2][0]:99

2. 比較規(guī)則

json中的數(shù)據(jù)可以用 =, <, <=, >, >=, <>, !=, and <=> 進(jìn)行比較。但json里的數(shù)據(jù)類型可以是多樣的,那么在不同類型之間進(jìn)行比較時(shí),就有優(yōu)先級了,高優(yōu)先級的要大于低優(yōu)先級的(可以用JSON_TYPE()函數(shù)查看類型)。優(yōu)先級從高到低如下:

BLOBBITOPAQUEDATETIMETIMEDATEBOOLEANARRAYOBJECTSTRINGINTEGER, DOUBLENULL 

3. 常用函數(shù)3.1 創(chuàng)建函數(shù)

3.1.1 JSON_ARRAY

JSON_ARRAY(val1,val2,val3...)

生成一個(gè)包含指定元素的json數(shù)組。

mysql> SELECT JSON_ARRAY(1, 'abc', NULL, TRUE, CURTIME());+---------------------------------------------+| JSON_ARRAY(1, 'abc', NULL, TRUE, CURTIME()) |+---------------------------------------------+| [1, 'abc', null, true, '11:30:24.000000'] |+---------------------------------------------+

3.1.2 JSON_OBJECT

JSON_OBJECT(key1,val1,key2,val2...)

生成一個(gè)包含指定K-V對的json object。如果有key為NULL或參數(shù)個(gè)數(shù)為奇數(shù),則拋錯(cuò)。

mysql> SELECT JSON_OBJECT(’id’, 87, ’name’, ’carrot’);+-----------------------------------------+| JSON_OBJECT(’id’, 87, ’name’, ’carrot’) |+-----------------------------------------+| {'id': 87, 'name': 'carrot'} |+-----------------------------------------+

3.1.3 JSON_QUOTE

JSON_QUOTE(json_val)

將json_val用'號(hào)括起來。

mysql> SELECT JSON_QUOTE(’null’), JSON_QUOTE(’'null'’);+--------------------+----------------------+| JSON_QUOTE(’null’) | JSON_QUOTE(’'null'’) |+--------------------+----------------------+| 'null' | ''null'' |+--------------------+----------------------+mysql> SELECT JSON_QUOTE(’[1, 2, 3]’);+-------------------------+| JSON_QUOTE(’[1, 2, 3]’) |+-------------------------+| '[1, 2, 3]' |+-------------------------+

3.1.4 CONVERT

CONVERT(json_string,JSON)

mysql> select CONVERT(’{'mail': 'amy@gmail.com', 'name': 'Amy'}’,JSON);+----------------------------------------------------------+| CONVERT(’{'mail': 'amy@gmail.com', 'name': 'Amy'}’,JSON) |+----------------------------------------------------------+| {'mail': 'amy@gmail.com', 'name': 'Amy'} |+----------------------------------------------------------+3.2 查詢函數(shù)

3.2.1 JSON_CONTAINS

JSON_CONTAINS(json_doc, val[, path])

查詢json文檔是否在指定path包含指定的數(shù)據(jù),包含則返回1,否則返回0。如果有參數(shù)為NULL或path不存在,則返回NULL。

mysql> SET @j = ’{'a': 1, 'b': 2, 'c': {'d': 4}}’;mysql> SET @j2 = ’1’;mysql> SELECT JSON_CONTAINS(@j, @j2, ’$.a’);+-------------------------------+| JSON_CONTAINS(@j, @j2, ’$.a’) |+-------------------------------+| 1 |+-------------------------------+mysql> SELECT JSON_CONTAINS(@j, @j2, ’$.b’);+-------------------------------+| JSON_CONTAINS(@j, @j2, ’$.b’) |+-------------------------------+| 0 |+-------------------------------+ mysql> SET @j2 = ’{'d': 4}’;mysql> SELECT JSON_CONTAINS(@j, @j2, ’$.a’);+-------------------------------+| JSON_CONTAINS(@j, @j2, ’$.a’) |+-------------------------------+| 0 |+-------------------------------+mysql> SELECT JSON_CONTAINS(@j, @j2, ’$.c’);+-------------------------------+| JSON_CONTAINS(@j, @j2, ’$.c’) |+-------------------------------+| 1 |+-------------------------------+

3.2.2 JSON_CONTAINS_PATH

JSON_CONTAINS_PATH(json_doc, one_or_all, path[, path] ...)

查詢是否存在指定路徑,存在則返回1,否則返回0。如果有參數(shù)為NULL,則返回NULL。

one_or_all只能取值'one'或'all',one表示只要有一個(gè)存在即可;all表示所有的都存在才行。

mysql> SET @j = ’{'a': 1, 'b': 2, 'c': {'d': 4}}’;mysql> SELECT JSON_CONTAINS_PATH(@j, ’one’, ’$.a’, ’$.e’);+---------------------------------------------+| JSON_CONTAINS_PATH(@j, ’one’, ’$.a’, ’$.e’) |+---------------------------------------------+| 1 |+---------------------------------------------+mysql> SELECT JSON_CONTAINS_PATH(@j, ’all’, ’$.a’, ’$.e’);+---------------------------------------------+| JSON_CONTAINS_PATH(@j, ’all’, ’$.a’, ’$.e’) |+---------------------------------------------+| 0 |+---------------------------------------------+mysql> SELECT JSON_CONTAINS_PATH(@j, ’one’, ’$.c.d’);+----------------------------------------+| JSON_CONTAINS_PATH(@j, ’one’, ’$.c.d’) |+----------------------------------------+| 1 |+----------------------------------------+mysql> SELECT JSON_CONTAINS_PATH(@j, ’one’, ’$.a.d’);+----------------------------------------+| JSON_CONTAINS_PATH(@j, ’one’, ’$.a.d’) |+----------------------------------------+| 0 |+----------------------------------------+

3.2.3 JSON_EXTRACT

JSON_EXTRACT(json_doc, path[, path] ...)

從json文檔里抽取數(shù)據(jù)。如果有參數(shù)有NULL或path不存在,則返回NULL。如果抽取出多個(gè)path,則返回的數(shù)據(jù)封閉在一個(gè)json array里。

mysql> SELECT JSON_EXTRACT(’[10, 20, [30, 40]]’, ’$[1]’);+--------------------------------------------+| JSON_EXTRACT(’[10, 20, [30, 40]]’, ’$[1]’) |+--------------------------------------------+| 20 |+--------------------------------------------+mysql> SELECT JSON_EXTRACT(’[10, 20, [30, 40]]’, ’$[1]’, ’$[0]’);+----------------------------------------------------+| JSON_EXTRACT(’[10, 20, [30, 40]]’, ’$[1]’, ’$[0]’) |+----------------------------------------------------+| [20, 10] |+----------------------------------------------------+mysql> SELECT JSON_EXTRACT(’[10, 20, [30, 40]]’, ’$[2][*]’);+-----------------------------------------------+| JSON_EXTRACT(’[10, 20, [30, 40]]’, ’$[2][*]’) |+-----------------------------------------------+| [30, 40] |+-----------------------------------------------+

在MySQL 5.7.9+里可以用'->'替代。

mysql> SELECT c, JSON_EXTRACT(c, '$.id'), g > FROM jemp > WHERE JSON_EXTRACT(c, '$.id') > 1 > ORDER BY JSON_EXTRACT(c, '$.name');+-------------------------------+-----------+------+| c | c->'$.id' | g |+-------------------------------+-----------+------+| {'id': '3', 'name': 'Barney'} | '3' | 3 || {'id': '4', 'name': 'Betty'} | '4' | 4 || {'id': '2', 'name': 'Wilma'} | '2' | 2 |+-------------------------------+-----------+------+3 rows in set (0.00 sec) mysql> SELECT c, c->'$.id', g > FROM jemp > WHERE c->'$.id' > 1 > ORDER BY c->'$.name';+-------------------------------+-----------+------+| c | c->'$.id' | g |+-------------------------------+-----------+------+| {'id': '3', 'name': 'Barney'} | '3' | 3 || {'id': '4', 'name': 'Betty'} | '4' | 4 || {'id': '2', 'name': 'Wilma'} | '2' | 2 |+-------------------------------+-----------+------+3 rows in set (0.00 sec)

在MySQL 5.7.13+,還可以用'->>'表示去掉抽取結(jié)果的'號(hào),下面三種效果是一樣的:

JSON_UNQUOTE( JSON_EXTRACT(column, path) ) JSON_UNQUOTE(column -> path) column->>path

mysql> SELECT * FROM jemp WHERE g > 2;+-------------------------------+------+| c | g |+-------------------------------+------+| {'id': '3', 'name': 'Barney'} | 3 || {'id': '4', 'name': 'Betty'} | 4 |+-------------------------------+------+2 rows in set (0.01 sec) mysql> SELECT c->’$.name’ AS name -> FROM jemp WHERE g > 2;+----------+| name |+----------+| 'Barney' || 'Betty' |+----------+2 rows in set (0.00 sec) mysql> SELECT JSON_UNQUOTE(c->’$.name’) AS name -> FROM jemp WHERE g > 2;+--------+| name |+--------+| Barney || Betty |+--------+2 rows in set (0.00 sec) mysql> SELECT c->>’$.name’ AS name -> FROM jemp WHERE g > 2;+--------+| name |+--------+| Barney || Betty |+--------+2 rows in set (0.00 sec)

3.2.4 JSON_KEYS

JSON_KEYS(json_doc[, path])

獲取json文檔在指定路徑下的所有鍵值,返回一個(gè)json array。如果有參數(shù)為NULL或path不存在,則返回NULL。

mysql> SELECT JSON_KEYS(’{'a': 1, 'b': {'c': 30}}’);+---------------------------------------+| JSON_KEYS(’{'a': 1, 'b': {'c': 30}}’) |+---------------------------------------+| ['a', 'b'] |+---------------------------------------+mysql> SELECT JSON_KEYS(’{'a': 1, 'b': {'c': 30}}’, ’$.b’);+----------------------------------------------+| JSON_KEYS(’{'a': 1, 'b': {'c': 30}}’, ’$.b’) |+----------------------------------------------+| ['c'] |+----------------------------------------------+

3.2.5 JSON_SEARCH

JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path] ...])

查詢包含指定字符串的paths,并作為一個(gè)json array返回。如果有參數(shù)為NUL或path不存在,則返回NULL。

one_or_all:'one'表示查詢到一個(gè)即返回;'all'表示查詢所有。 search_str:要查詢的字符串。 可以用LIKE里的’%’或‘_’匹配。 path:在指定path下查。

mysql> SET @j = ’['abc', [{'k': '10'}, 'def'], {'x':'abc'}, {'y':'bcd'}]’; mysql> SELECT JSON_SEARCH(@j, ’one’, ’abc’);+-------------------------------+| JSON_SEARCH(@j, ’one’, ’abc’) |+-------------------------------+| '$[0]' |+-------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’abc’);+-------------------------------+| JSON_SEARCH(@j, ’all’, ’abc’) |+-------------------------------+| ['$[0]', '$[2].x'] |+-------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’ghi’);+-------------------------------+| JSON_SEARCH(@j, ’all’, ’ghi’) |+-------------------------------+| NULL |+-------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’10’);+------------------------------+| JSON_SEARCH(@j, ’all’, ’10’) |+------------------------------+| '$[1][0].k' |+------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$’);+-----------------------------------------+| JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$’) |+-----------------------------------------+| '$[1][0].k' |+-----------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[*]’);+--------------------------------------------+| JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[*]’) |+--------------------------------------------+| '$[1][0].k'|+--------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$**.k’);+---------------------------------------------+| JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$**.k’) |+---------------------------------------------+| '$[1][0].k' |+---------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[*][0].k’);+-------------------------------------------------+| JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[*][0].k’) |+-------------------------------------------------+| '$[1][0].k' |+-------------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[1]’);+--------------------------------------------+| JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[1]’) |+--------------------------------------------+| '$[1][0].k'|+--------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[1][0]’);+-----------------------------------------------+| JSON_SEARCH(@j, ’all’, ’10’, NULL, ’$[1][0]’) |+-----------------------------------------------+| '$[1][0].k' |+-----------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’abc’, NULL, ’$[2]’);+---------------------------------------------+| JSON_SEARCH(@j, ’all’, ’abc’, NULL, ’$[2]’) |+---------------------------------------------+| '$[2].x' |+---------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’%a%’);+-------------------------------+| JSON_SEARCH(@j, ’all’, ’%a%’) |+-------------------------------+| ['$[0]', '$[2].x'] |+-------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’%b%’);+-------------------------------+| JSON_SEARCH(@j, ’all’, ’%b%’) |+-------------------------------+| ['$[0]', '$[2].x', '$[3].y'] |+-------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’%b%’, NULL, ’$[0]’);+---------------------------------------------+| JSON_SEARCH(@j, ’all’, ’%b%’, NULL, ’$[0]’) |+---------------------------------------------+| '$[0]' |+---------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’%b%’, NULL, ’$[2]’);+---------------------------------------------+| JSON_SEARCH(@j, ’all’, ’%b%’, NULL, ’$[2]’) |+---------------------------------------------+| '$[2].x' |+---------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’%b%’, NULL, ’$[1]’);+---------------------------------------------+| JSON_SEARCH(@j, ’all’, ’%b%’, NULL, ’$[1]’) |+---------------------------------------------+| NULL |+---------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’%b%’, ’’, ’$[1]’);+-------------------------------------------+| JSON_SEARCH(@j, ’all’, ’%b%’, ’’, ’$[1]’) |+-------------------------------------------+| NULL |+-------------------------------------------+ mysql> SELECT JSON_SEARCH(@j, ’all’, ’%b%’, ’’, ’$[3]’);+-------------------------------------------+| JSON_SEARCH(@j, ’all’, ’%b%’, ’’, ’$[3]’) |+-------------------------------------------+| '$[3].y' |+-------------------------------------------+3.3 修改函數(shù)

3.3.1 JSON_APPEND/JSON_ARRAY_APPEND

JSON_ARRAY_APPEND(json_doc, path, val[, path, val] ...)

在指定path的json array尾部追加val。如果指定path是一個(gè)json object,則將其封裝成一個(gè)json array再追加。如果有參數(shù)為NULL,則返回NULL。

mysql> SET @j = ’['a', ['b', 'c'], 'd']’;mysql> SELECT JSON_ARRAY_APPEND(@j, ’$[1]’, 1);+----------------------------------+| JSON_ARRAY_APPEND(@j, ’$[1]’, 1) |+----------------------------------+| ['a', ['b', 'c', 1], 'd'] |+----------------------------------+mysql> SELECT JSON_ARRAY_APPEND(@j, ’$[0]’, 2);+----------------------------------+| JSON_ARRAY_APPEND(@j, ’$[0]’, 2) |+----------------------------------+| [['a', 2], ['b', 'c'], 'd'] |+----------------------------------+mysql> SELECT JSON_ARRAY_APPEND(@j, ’$[1][0]’, 3);+-------------------------------------+| JSON_ARRAY_APPEND(@j, ’$[1][0]’, 3) |+-------------------------------------+| ['a', [['b', 3], 'c'], 'd'] |+-------------------------------------+ mysql> SET @j = ’{'a': 1, 'b': [2, 3], 'c': 4}’;mysql> SELECT JSON_ARRAY_APPEND(@j, ’$.b’, ’x’);+------------------------------------+| JSON_ARRAY_APPEND(@j, ’$.b’, ’x’) |+------------------------------------+| {'a': 1, 'b': [2, 3, 'x'], 'c': 4} |+------------------------------------+mysql> SELECT JSON_ARRAY_APPEND(@j, ’$.c’, ’y’);+--------------------------------------+| JSON_ARRAY_APPEND(@j, ’$.c’, ’y’) |+--------------------------------------+| {'a': 1, 'b': [2, 3], 'c': [4, 'y']} |+--------------------------------------+ mysql> SET @j = ’{'a': 1}’;mysql> SELECT JSON_ARRAY_APPEND(@j, ’$’, ’z’);+---------------------------------+| JSON_ARRAY_APPEND(@j, ’$’, ’z’) |+---------------------------------+| [{'a': 1}, 'z'] |+---------------------------------+

3.3.2 JSON_ARRAY_INSERT

JSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)

在path指定的json array元素插入val,原位置及以右的元素順次右移。如果path指定的數(shù)據(jù)非json array元素,則略過此val;如果指定的元素下標(biāo)超過json array的長度,則插入尾部。

mysql> SET @j = ’['a', {'b': [1, 2]}, [3, 4]]’;mysql> SELECT JSON_ARRAY_INSERT(@j, ’$[1]’, ’x’);+------------------------------------+| JSON_ARRAY_INSERT(@j, ’$[1]’, ’x’) |+------------------------------------+| ['a', 'x', {'b': [1, 2]}, [3, 4]] |+------------------------------------+mysql> SELECT JSON_ARRAY_INSERT(@j, ’$[100]’, ’x’);+--------------------------------------+| JSON_ARRAY_INSERT(@j, ’$[100]’, ’x’) |+--------------------------------------+| ['a', {'b': [1, 2]}, [3, 4], 'x'] |+--------------------------------------+mysql> SELECT JSON_ARRAY_INSERT(@j, ’$[1].b[0]’, ’x’);+-----------------------------------------+| JSON_ARRAY_INSERT(@j, ’$[1].b[0]’, ’x’) |+-----------------------------------------+| ['a', {'b': ['x', 1, 2]}, [3, 4]] |+-----------------------------------------+mysql> SELECT JSON_ARRAY_INSERT(@j, ’$[2][1]’, ’y’);+---------------------------------------+| JSON_ARRAY_INSERT(@j, ’$[2][1]’, ’y’) |+---------------------------------------+| ['a', {'b': [1, 2]}, [3, 'y', 4]] |+---------------------------------------+mysql> SELECT JSON_ARRAY_INSERT(@j, ’$[0]’, ’x’, ’$[2][1]’, ’y’);+----------------------------------------------------+| JSON_ARRAY_INSERT(@j, ’$[0]’, ’x’, ’$[2][1]’, ’y’) |+----------------------------------------------------+| ['x', 'a', {'b': [1, 2]}, [3, 4]] |+----------------------------------------------------+

3.3.3 JSON_INSERT/JSON_REPLACE/JSON_SET

JSON_INSERT(json_doc, path, val[, path, val] ...)

在指定path下插入數(shù)據(jù),如果path已存在,則忽略此val(不存在才插入)。

mysql> SET @j = ’{ 'a': 1, 'b': [2, 3]}’;mysql> SELECT JSON_INSERT(@j, ’$.a’, 10, ’$.c’, ’[true, false]’);+----------------------------------------------------+| JSON_INSERT(@j, ’$.a’, 10, ’$.c’, ’[true, false]’) |+----------------------------------------------------+| {'a': 1, 'b': [2, 3], 'c': '[true, false]'} |+----------------------------------------------------+

JSON_REPLACE(json_doc, path, val[, path, val] ...)

替換指定路徑的數(shù)據(jù),如果某個(gè)路徑不存在則略過(存在才替換)。如果有參數(shù)為NULL,則返回NULL。

mysql> SET @j = ’{ 'a': 1, 'b': [2, 3]}’;mysql> SELECT JSON_REPLACE(@j, ’$.a’, 10, ’$.c’, ’[true, false]’);+-----------------------------------------------------+| JSON_REPLACE(@j, ’$.a’, 10, ’$.c’, ’[true, false]’) |+-----------------------------------------------------+| {'a': 10, 'b': [2, 3]} |+-----------------------------------------------------+

JSON_SET(json_doc, path, val[, path, val] ...)

設(shè)置指定路徑的數(shù)據(jù)(不管是否存在)。如果有參數(shù)為NULL,則返回NULL。

mysql> SET @j = ’{ 'a': 1, 'b': [2, 3]}’;mysql> SELECT JSON_SET(@j, ’$.a’, 10, ’$.c’, ’[true, false]’);+-------------------------------------------------+| JSON_SET(@j, ’$.a’, 10, ’$.c’, ’[true, false]’) |+-------------------------------------------------+| {'a': 10, 'b': [2, 3], 'c': '[true, false]'} |+-------------------------------------------------+mysql> SELECT JSON_INSERT(@j, ’$.a’, 10, ’$.c’, ’[true, false]’);+----------------------------------------------------+| JSON_INSERT(@j, ’$.a’, 10, ’$.c’, ’[true, false]’) |+----------------------------------------------------+| {'a': 1, 'b': [2, 3], 'c': '[true, false]'} |+----------------------------------------------------+mysql> SELECT JSON_REPLACE(@j, ’$.a’, 10, ’$.c’, ’[true, false]’);+-----------------------------------------------------+| JSON_REPLACE(@j, ’$.a’, 10, ’$.c’, ’[true, false]’) |+-----------------------------------------------------+| {'a': 10, 'b': [2, 3]} |+-----------------------------------------------------+

3.3.4 JSON_MERGE

JSON_MERGE(json_doc, json_doc[, json_doc] ...)

merge多個(gè)json文檔。規(guī)則如下:

如果都是json array,則結(jié)果自動(dòng)merge為一個(gè)json array; 如果都是json object,則結(jié)果自動(dòng)merge為一個(gè)json object; 如果有多種類型,則將非json array的元素封裝成json array再按照規(guī)則一進(jìn)行mege。

mysql> SELECT JSON_MERGE(’[1, 2]’, ’[true, false]’);+---------------------------------------+| JSON_MERGE(’[1, 2]’, ’[true, false]’) |+---------------------------------------+| [1, 2, true, false] |+---------------------------------------+mysql> SELECT JSON_MERGE(’{'name': 'x'}’, ’{'id': 47}’);+-------------------------------------------+| JSON_MERGE(’{'name': 'x'}’, ’{'id': 47}’) |+-------------------------------------------+| {'id': 47, 'name': 'x'} |+-------------------------------------------+mysql> SELECT JSON_MERGE(’1’, ’true’);+-------------------------+| JSON_MERGE(’1’, ’true’) |+-------------------------+| [1, true]|+-------------------------+mysql> SELECT JSON_MERGE(’[1, 2]’, ’{'id': 47}’);+------------------------------------+| JSON_MERGE(’[1, 2]’, ’{'id': 47}’) |+------------------------------------+| [1, 2, {'id': 47}] |+------------------------------------+

3.3.5 JSON_REMOVE

JSON_REMOVE(json_doc, path[, path] ...)

移除指定路徑的數(shù)據(jù),如果某個(gè)路徑不存在則略過此路徑。如果有參數(shù)為NULL,則返回NULL。

mysql> SET @j = ’['a', ['b', 'c'], 'd']’;mysql> SELECT JSON_REMOVE(@j, ’$[1]’);+-------------------------+| JSON_REMOVE(@j, ’$[1]’) |+-------------------------+| ['a', 'd'] |+-------------------------+

3.3.6 JSON_UNQUOTE

JSON_UNQUOTE(val)

去掉val的引號(hào)。如果val為NULL,則返回NULL。

mysql> SET @j = ’'abc'’;mysql> SELECT @j, JSON_UNQUOTE(@j);+-------+------------------+| @j | JSON_UNQUOTE(@j) |+-------+------------------+| 'abc' | abc |+-------+------------------+mysql> SET @j = ’[1, 2, 3]’;mysql> SELECT @j, JSON_UNQUOTE(@j);+-----------+------------------+| @j | JSON_UNQUOTE(@j) |+-----------+------------------+| [1, 2, 3] | [1, 2, 3] |+-----------+------------------+3.4 JSON特性查詢

3.4.1 JSON_DEEPTH

JSON_DEPTH(json_doc)

獲取json文檔的深度。如果參數(shù)為NULL,則返回NULL。

空的json array、json object或標(biāo)量的深度為1。

mysql> SELECT JSON_DEPTH(’{}’), JSON_DEPTH(’[]’), JSON_DEPTH(’true’);+------------------+------------------+--------------------+| JSON_DEPTH(’{}’) | JSON_DEPTH(’[]’) | JSON_DEPTH(’true’) |+------------------+------------------+--------------------+|1 |1 | 1 |+------------------+------------------+--------------------+mysql> SELECT JSON_DEPTH(’[10, 20]’), JSON_DEPTH(’[[], {}]’);+------------------------+------------------------+| JSON_DEPTH(’[10, 20]’) | JSON_DEPTH(’[[], {}]’) |+------------------------+------------------------+| 2 | 2 |+------------------------+------------------------+mysql> SELECT JSON_DEPTH(’[10, {'a': 20}]’);+-------------------------------+| JSON_DEPTH(’[10, {'a': 20}]’) |+-------------------------------+| 3 |+-------------------------------+

3.4.2 JSON_LENGTH

JSON_LENGTH(json_doc[, path])

獲取指定路徑下的長度。如果參數(shù)為NULL,則返回NULL。 

長度的計(jì)算規(guī)則:

標(biāo)量的長度為1; json array的長度為元素的個(gè)數(shù); json object的長度為key的個(gè)數(shù)。

mysql> SELECT JSON_LENGTH(’[1, 2, {'a': 3}]’);+---------------------------------+| JSON_LENGTH(’[1, 2, {'a': 3}]’) |+---------------------------------+|3 |+---------------------------------+mysql> SELECT JSON_LENGTH(’{'a': 1, 'b': {'c': 30}}’);+-----------------------------------------+| JSON_LENGTH(’{'a': 1, 'b': {'c': 30}}’) |+-----------------------------------------+| 2 |+-----------------------------------------+mysql> SELECT JSON_LENGTH(’{'a': 1, 'b': {'c': 30}}’, ’$.b’);+------------------------------------------------+| JSON_LENGTH(’{'a': 1, 'b': {'c': 30}}’, ’$.b’) |+------------------------------------------------+| 1 |+------------------------------------------------+

3.4.3 JSON_TYPE

JSON_TYPE(json_val)

獲取json文檔的具體類型。如果參數(shù)為NULL,則返回NULL。

3.4.4 JSON_VALID

JSON_VALID(val)

判斷val是否為有效的json格式,是為1,不是為0。如果參數(shù)為NUL,則返回NULL。

mysql> SELECT JSON_VALID(’{'a': 1}’);+------------------------+| JSON_VALID(’{'a': 1}’) |+------------------------+| 1 |+------------------------+mysql> SELECT JSON_VALID(’hello’), JSON_VALID(’'hello'’);+---------------------+-----------------------+| JSON_VALID(’hello’) | JSON_VALID(’'hello'’) |+---------------------+-----------------------+| 0 | 1 |+---------------------+-----------------------+

到此這篇關(guān)于MySQL處理JSON常見函數(shù)的使用的文章就介紹到這了,更多相關(guān)MySQL JSON常見函數(shù)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 全肉高h后宫gl| 黑人精品xxx一区一二区 | 鲁鲁狠狠狠7777一区二区 | 欧美三级理论 | 国产二区视频在线观看 | 日本美女动态图 | 国产精品综合av一区二区国产馆 | 男人和女人黄 色大片 | 女同啪啪免费网站www | 中国精品妇女性猛交bbw | 古典武侠av | 欧美亚洲日本在线 | 国产性生活网站 | 成年人黄色免费网站 | 成人精品自拍 | 精品国精品国产自在久不卡 | 欧美交换乱淫粗大 | 日本簧片在线观看 | 欧美jizzhd精品欧美18 | 国产亚洲日韩欧美另类第八页 | 国产精品福利一区二区 | 欧美a视频 | 久久中文字幕一区二区 | 欧美在线一区视频 | 国产精品无码av在线播放 | 国产日产欧产精品精乱了派 | 久久精品国产精品亚洲38 | 色葡萄影院| 欧美性猛交xxxx黑人猛交 | 国产精品久久久久久久久潘金莲 | 免费在线视频一区 | 那个网站可以看毛片 | 色综合久久五月 | 夜夜嗨av一区二区三区中文字幕 | 他揉捏她两乳不停呻吟微博 | 日本精品999 | 精品日韩欧美一区二区在线播放 | 亚洲精品欧美二区三区中文字幕 | 日本丶国产丶欧美色综合 | 国产乱子伦精品无码专区 | caoprom在线视频 | 中文字幕人妻丝袜二区 | 国产精品普通话 | 偷拍一女多男做爰免费视频 | 四虎影视av| 午夜快播 | 偷窥自拍青青草 | 华人永久免费视频 | 欧美国产日韩久久mv | 一区二区三区日韩在线 | 毛片aaa| 国产精品久久久久777777 | 国产网红主播三级精品视频 | 狠狠噜天天噜日日噜 | 午夜免费看 | 欧美亚洲三级 | 亚洲天堂影院 | 中文字幕在线播放日韩 | 色狠狠av一区二区三区 | 爱情岛论坛成人永久网站在线观看 | 亚洲天堂精品在线观看 | 国产精品午夜无码体验区 | 18pao国产成人免费视频 | 无码中文字幕波多野结衣 | 丰满女人又爽又紧又丰满 | 一级黄色片在线看 | 韩国jizz| 精品国产一区在线 | 超碰av导航| 91丨九色丨刺激 | 业余 自由 性别 成熟偷窥 | 亚洲综合五月 | wwwcom日本| 亚洲综合久久av一区二区三区 | 国产精品丝袜 | 欧美超碰在线 | 欧美日韩无套内射另类 | av色区| av 日韩 人妻 黑人 综合 无码 | 黄色a级在线观看 | 欧美高清不卡 | 激情综合婷婷色五月蜜桃 | 尹人综合 | 成年午夜性影院 | 亚洲二区在线观看 | 国产精品扒开腿做爽爽爽视频 | 欧美在线播放一区 | 激情五月av久久久久久久 | 亚洲一区二区精品视频 | 国产91色在线亚洲 | 呻吟对白激情videos | 麻豆成人久久精品二区三区小说 | 成人免费乱码大片a毛片软件 | 美利坚合众国av | 人人爽久久久噜噜噜婷婷 | 国产午夜免费视频 | 99精品国产一区二区 | 一二三四精品 | 欧美日韩在线视频一区二区 | 国产在线拍偷自揄拍精品 | 成人精品国产一区二区4080 | 欧美伦理一区 | 91九色蝌蚪在线 | 噼里啪啦在线高清观看免费 | 成人在线视频中文字幕 | 亚洲成人久久久 | xxx国产| 日韩香蕉网 | 夜夜操av | 亚洲美女黄色片 | 亚洲欧美日韩精品在线 | 艳妇臀荡乳欲伦交换h在线观看 | 日韩在线视频网址 | 国产在线观看www | 欧美影音| 黄色av资源| 亚洲日韩一区二区三区 | 快色视频在线观看 | 动漫精品专区一区二区三区 | 刘玥91精选国产在线观看 | 国产精品一区二区久久国产 | 久久这里只有 | 中文字幕+乱码+中文乱码www | 国产a精品视频 | 女裸全身无奶罩内裤内衣内裤 | 男女啪啪免费体验区 | 国产午夜福利100集发布 | 国产剧情演绎av | 粉嫩av一区二区三区在线播放 | 亚洲九九精品 | 国产性猛交xx乱视频 | 欧美日韩精品国产 | 国产精品自在在线午夜 | 欧美精品系列 | 天天精品免费视频 | 尤物视频免费在线观看 | 国产精品夜色一区二区三区 | 五月天婷婷综合网 | 中文字幕一区视频 | 久久精品国产2020 | 精品日韩一区二区三区 | 亚洲天堂视频在线观看 | 亚洲自拍小视频 | 嫩草视频国产精品 | 91超薄肉色丝袜交足高跟凉鞋 | 国产女人叫床高潮大片视频 | 青青国产精品 | 青青草视频 | 国产美女裸体无遮挡免费视频 | 国产专区第一页 | 亚洲成av人片不卡无码手机版 | 亚洲欧美一区二区爽爽爽 | 制服丝袜在线视频 | 风韵少妇spa私密视频 | 亚洲日韩av一区二区三区四区 | 91丨国产丨捆绑调教 | 99久久精品国产片果冻的功能特点 | 青草青在线视频在线观看 | 国内精品久久久久伊人aⅴ 国内精品毛片 | 不卡av免费观看 | 男女又爽又黄视频 | 国产精品成人精品久久久 | 九九热免费精品视频 | jizz性欧美15 | 国产精品一区二区精品 | 国产一区二区三区四区五区 | 杨幂毛片午夜性生毛片 | 538精品视频在线播放 | 亚洲成a人无码 | 中文字幕日本精品一区二区三区 | 中出在线 | 免费在线毛片 | 无码人妻精品一区二区三区免费 | 无码人妻aⅴ一区二区三区有奶水 | 久久99国产精品视频 | 国精产品一区一区三区mba下载 | 99热这里| 人妖性生活视频 | 亚洲在线免费观看视频 | 亚洲成人高清 | 国产精品久久久久久久免费大片 | 色欲av无码一区二区三区 | 国产区免费| 国产黄色片在线免费观看 | 专干老熟女视频在线观看 | 亚洲欧美综合视频 | 亚洲欧美一二三 | 免费人成xvideos在线视频 | 国产精品亚洲欧美日韩久久制服诱 | 精品欧洲av无码一区二区14 | 香蕉视频链接 | 激情伊人五月天久久综合 | 欧美a大片 | 久久久精品国产99久久精品芒果 | 一区二区av| 国产一区二区三区 | 久久摸摸碰碰97网站 | 国产农村妇女高潮大叫 | 99这里只有 | 偷拍中年夫妇激情嗷嗷叫 | 美女一区二区三区四区 | 亚洲日本中文 | 国产精品久久久久久中文字 | 91精品免费 | 亚拍精品一区二区三区探花 | 99精品久久毛片a片 在线亚洲高清揄拍自拍一品区 | 亚洲欧美一区二区三区三高潮 | 天海翼一区二区三区四区在线观看 | 欧美日本国产va高清cabal | 一个人免费在线观看视频 | 少妇性l交大片7724com | 77777亚洲午夜久久多人 | 免费男女乱淫真视频免费播放 | 国产一区在线视频 | 国产福利免费在线 | 樱花草国产18久久久久 | 久久综合九色综合欧美狠狠 | 一级毛片基地 | 国产一级做a爰片在线看免费 | 天天躁夜夜躁狠狠综合 | 九九久久精品国产 | 久热中文字幕在线精品观 | 亚洲精品国精品久久99热 | 性欧美videos 另类喷潮 | 国产一级淫 | 91福利张津瑜在线播放 | 黑人大荫蒂高潮视频 | 亚洲国产精品成人一区二区在线 | 国外成人在线视频 | 亚洲超碰av| 鲁丝一区二区三区 | 天堂av网站 | 嫩草视频 | 亚洲小视频在线播放 | 国产精品久久精品三级 | 成人毛片18女人 | 国内精品视频一区二区三区 | 人人看人人看 | 少妇一级淫片免费看 | 99国产精品99久久久久久 | 日本欧美久久久久免费播放网 | 欧美视频一区二区三区 | 波多野结衣一区二区三区在线观看 | 草比视频在线观看 | 国产精品久久久久久 | 警花av一区二区三区 | 天天精品 | 国产淫视频 | 中文字幕丰满人孑伦 | 女人与拘做受全过程免费视频 | 国产调教打屁股xxxx网站 | 52avaⅴ我爱haose免费视频 | 日韩精品乱码久久久久久 | 国产精品伦一区二区 | 亚洲综合色成在线播放 | 女人18毛片水真多 | 四虎av网站 | 国产美女无遮挡永久免费 | 永久黄色网址 | 日本亚州视频在线八a | 亚洲成人经典 | 特级毛片在线播放 | 最新中文字幕在线观看 | 欧美精品一区二区在线播放 | 亚洲日本韩国 | 无遮挡国产高潮视频免费观看 | 欧美精品一区二区三区一线天视频 | 日韩免费在线观看视频 | 波多野结衣精品一区二区三区 | a最新天堂网资源 | 人人人妻人人澡人人爽欧美一区 | 亚洲一级色 | 中文字幕高清免费日韩视频在线 | 99视频一区 | 不卡视频一区 | 亚洲精品无码永久在线观看性色 | 山村大伦淫第1部分阅读小说 | 色综合久久88色综合天天人守婷 | 亚洲视频中文字幕在线观看 | 波多野结衣乱码中文字幕 | 日产精品入口 | 99精品全国免费观看视频 | 国产精品久久婷婷六月丁香 | 40到50岁中老年妇女毛片 | av怡红院一区二区三区 | 亚洲大逼| 人人爱人人草 | 国产亚洲影院 | 日韩视频免费大全中文字幕 | 免费观看成人欧美www色 | 少妇饥渴放荡91麻豆 | 免费看黄色片的网站 | 久草在线国产视频 | 日本三级香港三级三级人!妇久 | 97精品一区二区视频在线观看 | 亚洲天堂网一区二区 | 91桃色网站 | 国产成人精品男人的天堂 | 一色桃子av一区二区 | 中国偷拍毛茸茸肥老熟妇 | аⅴ资源中文在线天堂 | 19禁大尺度做爰无遮挡小说 | 亚洲一区成人 | 久久精品国产久精国产 | 日韩午夜精品 | 亚洲大尺度无码无码专区 | 亚洲国产精品国自产拍张津瑜 | www日本高清 | 国产在线精品播放 | 五月天天色 | 狠狠色噜噜狠狠狠狠色综合网 | 欧美日韩久久久 | 污污的视频在线免费观看 | 风间由美av在线 | 视频在线观看一区二区 | 污视频免费在线观看 | av在线天天 | 成人免费毛片视频 | 中文字幕无码不卡免费视频 | 中文字幕免费一区 | 天天搞天天干 | 日本www视频在线观看 | 欧美日韩免费一区二区 | 沈阳熟女露脸对白视频 | 国产男男同志互慰gvxxx | 精品午夜福利在线观看 | 成人网6969conwww | 日韩中文字幕精品视频 | 免费毛片在线播放免费 | 亚洲激情欧美色图 | www夜片内射视频在观看视频 | 免费观看黄色一级视频 | 日本一区二区在线免费 | 中文毛片无遮挡高潮免费 | 舌吻激情大尺度做爰视频 | 午夜免费播放观看在线视频 | 亚洲交性网 | 国产9 9在线 | 中文 | 农村激情伦hxvideos | 青青草伊人网 | 蜜臀av免费一区二区三区 | 全黄毛片 | 狠狠操2019| 狠狠色丁香婷婷综合潮喷 | a级毛片在线免费看 | 婷婷爱五月 | ts人妖另类精品视频系列 | 日本午夜无人区毛片私人影院 | 免费看美女被靠到爽的视频 | 女人被狂躁的高潮免费视频 | 成人a v视频| 天天摸天天干天天操 | 亚洲大色堂人在线无码 | 欧美巨大双龙性猛交乱大 | 国产a免费 | 午夜精品久久久久久久星辰影院 | 有码中文 | 国精品无码人妻一区二区三区 | 少妇高跟鞋做爰20p 少妇和黑人老外做爰av | 日本视频网址 | 日韩1页| 黄色片视频免费看 | 成人一区二区在线 | 国产一级特黄毛片在线毛片 | 中字幕视频在线永久在线观看免费 | 99久久欧美日韩国产二区 | 2区3区在线涩网涩 | 成人免费毛片网站 | 一二三四免费观看在线视频中文版 | 三级黄色在线视频 | 蜜桃视频一区二区三区在线观看 | 亚洲爱婷婷色婷婷五月 | 久久精品人人做人人综合 | 国产视频久久久久久久 | 一级做a爱高潮免费视频 | av无遮挡| 熟女体下毛毛黑森林 | 日韩一级在线视频 | 蜜臀av首页| 在线观看日韩视频 | 中文无码精品a∨在线观看不卡 | 亚洲鲁丝片一区二区三区 | 99热免费精品 | 久久激情影院 | 欧美黑人精品一区二区不卡 | 一级视频片 | 亚洲天堂男人av | 国产日产欧产精品精品首页 | 麻豆人妻少妇精品无码专区 | 国产精品美女一区二区 | 亚洲经典久久 | 国产尤物视频在线观看 | 免费精品视频一区二区三区 | 久久成年人视频 | 91在线视频免费观看 | 99re这里都是精品 | 8×8x拔擦拔擦在线视频网站 | 裸体丰满少妇xxxxxxxx | 欧美一区成人 | 中文在线а√在线 | 理论片中文 | 2021国产精品| 欧美女同视频 | 精品一区二区三区四区 | 在线综合亚洲欧美网站 | 91极品美女 | 欧美成人资源 | www国产一区 | 欧美成人免费高清视频 | 欧美视频在线观看一区二区 | 亚洲一区视频网站 | 91美女福利视频 | 波多野结衣在线观看视频 | 97人人插| 老鸭窝视频在线观看 | 99精品欧美一区二区蜜桃美图 | 日韩丰满少妇无吗视频激情内射 | 日韩岛国片 | 大黄专集在线观看 | 国产又粗又猛又爽又黄的免费视频 | 午夜av大片| 欧美成人精品第一区 | 亚欧洲精品视频 | 另类天堂网不卡另类系列 | 亚洲免费在线观看视频 | 日韩中文在线播放 | 狠狠躁日日躁夜夜躁2022麻豆 | 婷婷综合久久狠狠色99h | 亚洲日韩va无码中文字幕 | 中文字幕 视频一区 | 最近中文字幕mv免费高清在线 | 久久福利网 | 国产精品成人一区二区艾草 | 狠狠干狠狠干狠狠干 | 三及毛片| 边添小泬边狠狠躁视频 | 亚洲精品欧美日韩 | 日韩精品系列 | 日韩欧美在线视频播放 | 精品国产18久久久久久怡红 | 国产人成免费爽爽爽视频 | 国产成人在线免费观看视频 | 日韩三级av在线 | 日本黄色动态图 | 国产日产欧产美 | 国产一级淫片a按摩推澡按摩 | 狠狠色老熟妇老熟女 | 91av视频在线免费观看 | 成年人小视频在线观看 | 日韩久久激情综合啪啪 | 亚洲高清视频一区 | 99re在线精品 | 亚洲综合图色 | 日本三级在线观看免费 | 国产精品免费久久久久久久久久中文 | 欧美成人精品a∨在线观看 香蕉av福利精品导航 | 午夜在线视频 | 揄拍成人国产精品视频99 | 中文字幕国产亚洲 | 日本无翼乌全彩j奶无遮挡漫 | 欧洲三级在线 | 国产精品69久久久久999小说 | 亚洲国产精品成人综合久久久久久久 | 性欧美videos另类hd | 四川少妇被弄到高潮 | 中文字幕免费在线看线人 | 亚洲妇熟xx妇色黄蜜桃 | 国产成人精品亚洲7777 | 18禁免费观看网站 | 国产1234区2023 | 黄色大视频 | 亚洲女欲精品久久久久久久18 | 日本高清在线观看 | 国产免费视频一区二区裸体 | 日韩视频在线观看免费 | 亚洲日韩乱码久久久久久 | 日韩永久免费 | 男人的天堂亚洲 | 欧美成人另类 | 久久久久无码精品国产h动漫 | 荡女精品导航 | 91康先生在线国内精品 | 性俄罗斯交xxxxx免费视频 | 九九99精品视频 | 三级特黄视频 | 国产一区二区激情 | av片免费播放 | 狠狠色噜噜狠狠狠合久 | 搡老女人老妇女老熟妇 | 国产精品毛片一区二区在线看 | 无套中出丰满人妻无码 | 水中色av综合 | 爱情岛论坛首页永久入口 | 少妇激情在线 | 国产精品久久久久久久久久久新郎 | 亚洲午夜性猛春交xxxx | 一级少妇淫片免费观看 | 啪免费| 色偷偷网 | 欧美日韩国产在线精品 | 国产精品久久久久久久免费软件 | 日韩 亚洲 中文 图片 小说 | 久久久久久久亚洲国产精品87 | 国产丰满精品伦一区二区三级视频 | 日韩黄站 | 国产全是老熟女太爽了 | 成人午夜一区二区 | 奇米影视第四狠狠777 | 小仙女av| 新久久久 | 一边摸一边做爽的视频17国产 | 欧美日韩三级视频 | 国产性色视频 | 日韩精品国产另类专区 | 波多野结衣久久久久 | 成人免费淫片aa视频免费 | 色婷婷激情网 | 高清视频在线观看一区二区三区 | www在线国产 | 韩国三级hd中文字幕有哪些 | 亚洲综合色无码 | 午夜一级大片 | 中文字幕不卡二区 | 成人性做爰aaa片免费看曹查理 | 国产成a人亚洲精v品在线观看 | 性荡视频播放在线视频 | 日韩视频一区二区在线观看 | 攵女h高h1v1深与浅 | 国产又粗又长 | 国产精品怡红院永久免费 | 婷婷成人亚洲综合国产xv88 | 国产亚洲精品久久久久5区 国产亚洲精品久久久久久 国产亚洲精品久久久久久国模美 | www.香蕉网| 国产精品久久久久久久久久免费看 | 欧美黄色网 | 超污网站在线观看 | 国产精品一二三区视频 | 成人免费看吃奶视频网站 | 再深点灬舒服灬太大了快点91 | 少妇乱淫 | 天堂在线中文网 | 麻豆精品国产传媒mv男同 | 最新国产三级 | 青青青免费视频在线 | 国模冰莲大胆自慰难受 | 国产喷白浆一区二区三区 | 一区二区在线 | 欧洲 | 在线免费观看网站入口在哪 | 一本大道加勒比免费视频 | 中文字幕精品一区二区精品 | 黄色一级免费视频 | 一级片观看 | 中文字幕亚洲日本 | 成年人午夜影院 | 久久伊人网站 | 国产精品2区| 国产91精品露脸国语对白 | 国产成人无码一区二区三区在线 | 亚洲美女毛片 | 无码日韩精品一区二区免费 | 国产成人精品一区二区色戒 | 国产欧美日韩精品丝袜高跟鞋 | 蜜臀av在线观看 | 5x社区sq未满十八视频在线 | 久久婷婷精品一区二区三区日本 | 超碰一区二区 | 久久97精品久久久久久久不卡 | 午夜激情网址 | 国产第三区| 岛国av一区二区 | 欧洲极品少妇 | 中文字幕av一区二区三区人妻少妇 | 国产精品99久久久精品 | 在线观看精品视频 | 少妇高潮尖叫黑人激情在线 | 天天躁日日躁狠狠躁精品推荐 | 欧美乱大交做爰xxxⅹ性3 | 波多野结衣在线视频免费观看 | 久草在线手机视频 | 波多野结衣av在线播放 | 男女超爽视频免费播放 | 91精品久久久久久久久不卡 | 欧美综合影院 | 国产一区二区av | 亚洲色偷偷色噜噜狠狠99网 | 黄色片网站免费 | 国产国拍亚洲精品av | jizz18欧美18| 亚洲精品成av人片天堂无码 | 国产麻豆md传媒视频 | 国产精品久久久久久久妇 | 久久香综合精品久久伊人 | 少妇av| 久久亚洲男人天堂 | 91理论片 | 精品人伦一区二区三区蜜桃免费 | 国产精品久久久久久52avav | 日出白浆视频 | 丁香六月综合 | 精品久久久久久无码中文字幕 | 高清18麻豆 | 日韩一级片一区二区三区 | 中文在线а天堂中文在线新版 | 久久激情综合网 | 成人高潮片免费网站 | 色天使久久综合网天天 | 暖暖视频日本在线观看 | 国产欧美一区二区在线观看 | 精品久久久久久久久久久院品网 | 成人精品一区二区三区网站 | 日韩精品一线二线三线 | 伊人久久97| 东北妇女精品bbwbbw | 亚洲最色 | 理论片87福利理论电影 |