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

您的位置:首頁技術文章
文章詳情頁

Oracle XQuery查詢、構建和轉換XML

瀏覽:239日期:2023-11-21 11:59:59
在 Oracle 數據庫 10g 第 2 版中,Oracle 引入了一個與該數據庫集成的全功能自帶 XQuery 引擎,該引擎可用于完成與開發支持 XML 的應用程序相關的各種任務。XQuery 是一種用于處理 XML 數據模型的查詢語言,它實際上可操作任何類型的可用 XML 表達的數據。盡管 Oracle XQuery 實施使您可以使用數據庫數據和外部數據源,但在處理數據庫中存儲的結構化數據方面,Oracle XML DB 通常可以顯著提高性能。 本文提供的示例不僅演示了在什么場合下以及如何使用 XQuery 查詢、構建和轉換 XML,而且還演示了如何監控和分析 XQuery 表達式的性能執行,從而找到更高效的方法來處理同一工作負載。 基于關系數據構建 XML在需要的情況下(例如,向 Web 服務發送結果),您可能要基于關系數據構建 XML。要在 Oracle 數據庫 10g 第 2 版之前的版本中完成此任務,通常需要使用 SQL/XML 生成函數,如 XMLElement、XMLForest 和 XMLAgg()。在 Oracle 數據庫 10 g 第 2 版中,XQuery 將比這些函數更為高效。具體而言,在 XQuery 表達式內部使用 ora:view XQuery 函數,您可以查詢現有的關系表或視圖以及即時構建 XML,從而不必通過關系數據顯式創建 XML 視圖。列表 1 中的 PL/SQL 代碼演示了如何使用 ora:view 基于示例數據庫模式 HR 的默認員工關系表中存儲的數據構建 XML 文檔。 列表 1:使用 ora:view 基于關系數據創建 XMLBEGINIF(DBMS_XDB.CREATEFOLDER('/public/employees')) THENDBMS_OUTPUT.PUT_LINE('Folder is created');ELSEDBMS_OUTPUT.PUT_LINE('Cannot create folder');END IF;COMMIT;END;/DECLAREXMLdoc XMLType;BEGINSELECT XMLQuery('for $j in 1return ( {for $i in ora:view('HR', 'employees')/ROWwhere $i/EMPLOYEE_ID <= 102return ({xs:string($i/EMPLOYEE_ID)}{xs:string($i/LAST_NAME)}{xs:integer($i/SALARY)} )} )'RETURNING CONTENT) INTO XMLdoc FROM DUAL;IF(DBMS_XDB.CREATERESOURCE('/public/employees/employees.xml', XMLdoc)) THENDBMS_OUTPUT.PUT_LINE('Resource is created');ELSEDBMS_OUTPUT.PUT_LINE('Cannot create resource');END IF;COMMIT;END;/在列表 1 中的第一個 PL/SQL 過程中,您只是在 XML 信息庫中創建了一個新文件夾。在該信息庫文件夾中,您隨后將存儲此處顯示的第二個 PL/SQL 過程中創建的 XML 文檔。第二個 PL/SQL 過程首先發出 SELECT 語句,該語句使用 XMLQuery SQL 函數基于關系數據構建 XML。對于 XQuery 表達式(XMLQuery 在此處將其用作參數)而言,請注重嵌套的 FLWOR 表達街惺褂玫?ora:view XQuery 函數。在該示例中,ora:view 獲取兩個輸入參數,即“HR”和“employees”,它們指示該函數查詢屬于 HR 數據庫模式的員工表。因此,ora:view 將返回一個表示 HR.employees 表行的員工 XML 文檔序列。但為了節省結果文檔中的空間,只將前三個員工記錄傳遞給結果序列。這是通過在 FLWOR 表達式的 where 子句中指定 $i/EMPLOYEE_ID <= 102 而實現的。請注重 FLWOR 表達式的 return 子句中使用的 xs:string() 和 xs:integer() XQuery 類型表達式。實際上,此處使用的這兩個 XQuery 表達式不僅將 XML 節點值轉換為相應的類型,而且還將提取這些節點值。隨后,生成的員工 XML 文檔作為 employees.xml 保存到之前在列表 1 中另一個 PL/SQL 過程中創建的 /public/employees XML 信息庫文件夾。要確保此操作已完成,可執行以下查詢:SELECT XMLQuery('for $i in fn:doc('/public/employees/employees.xml')return;$i'RETURNING CONTENT) AS RESULT FROM DUAL;該查詢應生成以下輸出:100King24000101Kochhar17000102De Haan17000在以上 XQuery 中,fn:doc XQuery 函數用于訪問 Oracle XML DB 信息庫中存儲的單個 XML 文檔。但假如要處理一些具有相同或相似結構的 XML 文檔(存儲在同一 XML 信息庫文件夾中),應該怎么做?這種情況下,另一個用于處理 XML 信息庫資源的 XQuery 函數(即 fn:collection)可能會派上用場。本文稍后將介紹幾個有關如何使用 fn:collection XQuery 函數的示例。 查詢 XMLType 數據XQuery 使您可以操作基于 XML 模式以及非基于模式的數據。以下示例演示了如何使用 XMLTable 函數從 OE 演示數據庫模式中查詢基于 PurchaseOrder XML 模式的 XMLType 表。 SELECT ttab.COLUMN_VALUE AS OrderTotal FROM purchaseorder,XMLTable('for $i in /PurchaseOrderwhere $i/User = 'EABEL'return;{$i/Reference}{fn:sum(for $j in $i/LineItems/LineItem/Partreturn ($j/@Quantity*$j/@UnitPrice))}'PASSING OBJECT_VALUE) ttab;在以上示例中,您在 XMLTable 函數的 PASSING 子句中使用 OBJECT_VALUE 虛擬列將 purchaseorder 表作為上下文項傳遞給此處使用的 XQuery 表達式。XQuery 表達式計算用戶 EABEL 請求的每個購買訂單的總計,并為處理的每個訂單生成一個 OrderTotal XML 元素。要訪問生成的 XML,請使用 SELECT 列表中的 COLUMN_VALUE 虛擬列。最終的輸出應如下所示:ORDERTOTAL-------------------------------------------------------------EABEL-20021009123338324PDT1328.05EABEL-20021009123335791PDT2067.15EABEL-20021009123336251PDT289.6EABEL-20021009123336382PDT928.92要獲得相同的最終結果,可以改用 XMLQuery 函數。但假如將上一個示例中使用的 XQuery 表達式參數傳遞給 XMLQuery(如下所示):SELECT XMLQuery('for $i in /PurchaseOrderwhere $i/User eq 'EABEL'return;{$i/Reference}{fn:sum(for $j in $i/LineItems/LineItem/Partreturn ($j/@Quantity*$j/@UnitPrice))}'PASSING OBJECT_VALUERETURNING CONTENT)FROM purchaseorder;則 XQuery 表達式返回的空序列將與 purchaseorder 表聯接,從而包含在查詢總結果集中。實際上,這意味著輸出將不僅包含為用戶 EABEL 請求的訂單生成的 OrderTotal 元素,而且還包含為 purchaseorder 表中存儲的所有其他訂單生成的空行(默認情況下,purchaseorder 表包含 132 行)。從結果集中排除空行的方法之一是在 SELECT 語句的 WHERE 子句中使用 existsNode SQL 函數,而不是在 XQuery 表達式中使用 WHERE 子句,如下所示: SELECT XMLQuery('for $i in /PurchaseOrderreturn;{$i/Reference}{fn:sum(for $j in $i/LineItems/LineItem/Partreturn ($j/@Quantity*$j/@UnitPrice))}'PASSING OBJECT_VALUERETURNING CONTENT) AS ordertotalFROM purchaseorderWHERE existsNode(OBJECT_VALUE, '/PurchaseOrder[User = 'EABEL']') = 1;以上查詢與本部分開頭的 XMLTable 示例生成相同的輸出。 查詢 Oracle XML DB 信息庫中的 XML 數據為訪問 Oracle XML DB 信息庫中存儲的 XML 數據,Oracle XQuery 引入了 fn:doc 和 fn:collection XQuery 函數。使用 fn:doc,您可以查詢 XML 信息庫中存儲的單個 XML 文檔,而 fn:collection 使您可以訪問同一信息庫文件夾中存儲的多個 XML 文檔。 正如本文之前(參閱使用關系數據構建 XML部分)介紹的示例所演示,使用 fn:doc 非常簡單直接。它獲取表示信息庫文件資源 (URI) 的字符串并返回該 URI 指向的文檔。要了解 fn:collection XQuery 函數的作用,同一文件夾中至少應有兩個信息庫文件。假如已經運行了列表 1 中的代碼,則已經創建了 /public/employees 信息庫文件夾并在其中存儲了 employees.xml 文件。因此,您將需要在該文件夾中至少再創建一個 XML 文件,然后才能試用 fn:collection。列表 2 中的 PL/SQL 代碼基于 SCOTT/TIGER 演示數據庫模式的 dept 和 emp 表存儲的關系數據構建 XML,然后將生成的 XML 文檔作為 acc_dept.xml 保存到 /public/employees 信息庫文件夾。要運行列表 2 中的 PL/SQL 過程,請確保以 SCOTT/TIGER 的身份登錄。 列表 2:基于關系數據構建 XML 并將其保存到 XML 信息庫 DECLAREXMLdoc XMLType;BEGINSELECT XMLQuery('for $j in ora:view('SCOTT', 'dept')/ROWwhere $j/DEPTNO = 10return ( {$j/DEPTNO,$j/DNAME} {for $i in ora:view('SCOTT', 'emp')/ROWwhere $i/DEPTNO = $j/DEPTNOreturn ({$i/EMPNO,$i/ENAME,$i/SAL})} )'RETURNING CONTENT) INTO XMLdoc FROM DUAL;IF(DBMS_XDB.CREATERESOURCE('/public/employees/acc_dept.xml', XMLdoc)) THENDBMS_OUTPUT.PUT_LINE('Resource is created');ELSEDBMS_OUTPUT.PUT_LINE('Cannot create resource');END IF;COMMIT;END;/此時,/public/employees 信息庫文件夾應包含兩個文件:acc_dept.xml(由列表 2 中的 PL/SQL 代碼生成)和 employees.xml 文件(由列表 1 中的代碼生成)。由于這些 XML 文檔存儲在同一信息庫文件夾中,因此可以使用 fn:collection 函數訪問兩個 XML 文檔中存儲的員工信息。然而,盡管這些 XML 文檔均包含員工 XML 元素(這些元素實際上具有相同結構?XML 文檔本身的結構迥然不同。在 employees.xml 中,文檔根元素為 EMPLOYEES,而 acc_dept.xml 將 DEPARTMENT 用作根元素。要解決此問題,可以通過 XQuery 使用 XPath // 構造,從而導航到 XML 文檔中的某個節點,而不必指定該節點的確切路徑。以下示例演示了如何在 XQuery 表達式中使用 XPath // 構造: SELECT XMLQuery('for $i in fn:collection('/public/employees')//EMPLOYEEwhere $i/SAL >= 5000order by $i/ENAMEreturn;$i'RETURNING CONTENT) FROM DUAL;該構造應生成以下輸出: 102De Haan170007839KING5000100King24000101Kochhar17000您可以看到,以上輸出包含從 employees.xml 和 acc_dept.xml 中獲取的員工 XML 元素,這些元素表示薪酬大于或等于 5,000 美元的員工。 將 XML 分解為關系數據假如應用程序處理關系數據而非 XML,而您需要訪問的數據以 XML 格式存儲,則將 XML 分解為關系數據可能會非常有用。繼續進行上一部分的示例,您可以使用 SQL 函數 XMLTable 將員工 XML 元素分解為虛擬表的單個列,如下所示: SELECT emps.empno,emps.ename, emps.sal FROM XMLTable('for $i in fn:collection('/public/employees')//EMPLOYEEwhere $i/SAL >= 5000return;$i'COLUMNS empno NUMBER;;;;PATH '/EMPLOYEE/EMPNO',ename VARCHAR2(30) PATH '/EMPLOYEE/ENAME',salNUMBER;;;;PATH '/EMPLOYEE/SAL') emps;該查詢將生成以下輸出: EMPNO ENAME SAL----- -------------- ----------7839 KING 5000100 King;;;;;24000101 Kochhar;;17000102 De Haan;;17000查詢外部數據源使用 XQuery,可以基于 XML 數據以及可以用 XML 表示的非 XML 數據生成 XML 文檔,無論其位置如何:無論是存儲在數據庫中、置于網站上、即時創建還是存儲在文件系統中。但要注重,Oracle XML DB 為針對數據庫中存儲的數據進行的 XML 操作提供了非常高的性能和可伸縮性。因此,假如您能夠完全控制所處理的數據,則最好將它移動到數據庫中。 正如您從前面的示例中了解到的,在 Oracle XQuery 實施中,doc 和 collection XQuery 函數用于訪問 Oracle XML DB 信息庫中存儲的 XML 文檔。可以通過 XMLTable 和 XMLQuery SQL 函數中的 PASSING 子句動態綁定外部數據源。考慮以下示例。假設您的公司要為那些致力于 XQ 項目的員工支付獎金。因此,財務部發布了 empsbonus.xml 文件,其中包含有資格獲得獎金的員工列表以及該列表中輸入的每個員工的獎金數額。empsbonus.xml 文件可能如下所示: 10012001011000在實際情況中,以上的 XML 文件可能置于網站上(因此可以通過互聯網獲得)、以文件形式存儲在本地文件系統中,或以文件資源形式存儲在 Oracle XML DB 信息庫中。就本示例而言,該文件位于網站上。為簡單起見,可以在目錄(Web 服務器在其中存儲可從 Web 看到的文檔)中創建一個員工文件夾,然后在該文件夾中插入 empsbonus.xml 文件,以便可以通過以下 URL 訪問 empsbonus.xml 文件: http://localhost/employees/empsbonus.xml接下來,假設您需要基于 empsbonus.xml 文檔中存儲的數據創建一個報表。在該報表中,您可能不但要包含列表中顯示的獎金數額以及每個員工的員工 ID,還要包含他/她的全名。因此,可以首先使用以下查詢生成一個新的 XML 文檔(假設您以 HR/HR 的身份連接): SELECT XMLQuery('for $k in 1return ( {for $i in ora:view('employees')/ROW,$j in $emps/EMPLOYEES/EMPLOYEEwhere $i/EMPLOYEE_ID = $j/EMPNOreturn ({xs:string($i/EMPLOYEE_ID)}{xs:string(fn:concat($i/FIRST_NAME, ' ', $i/LAST_NAME))}{xs:integer($j/BONUS)})} )'PASSING xmlparse (document httpuritype('http://localhost/employees/empsbonus.xml').getCLOB()) as 'emps'RETURNING CONTENT).getStringVal() as RESULT FROM DUAL;以上查詢是一個有關如何使用 XQuery 基于 XML 和非 XML 數據(以不同的方式從不同的數據源中檢索)生成 XML 文檔的示例。具體而言,使用 ora:view() 函數訪問 HR 演示模式中的默認 employees 關系表,并使用 PASSING 子句中的 httpuritype() 函數借助于 HTTP 訪問 empsbonus.xml 文檔。然后,在 FLWOR 表達式的 return 子句中構建新的 XML 文檔。最后,將獲得以下 XML 文檔: 100Steven King1200101Neena Kochhar1000解決性能問題正如您從前面的部分中了解到的,XQuery 是一種用于查詢 Oracle 數據庫存儲的 XML 內容的高效方法 - 無論您是處理本地存儲的 XMLType 數據還是查詢基于關系數據構建的 XML 視圖。但根據對數據使用的存儲類型的不同,XQuery 表達式的執行性能可能迥然不同。尤其是,Oracle XML DB 可以優化基于由 ora:view 函數創建的 SQL/XML 視圖而構建的 XQuery 表達式。對于 XMLType 表或列中存儲的 XML 數據,只能對使用結構化(對象-關系)存儲技術存儲的基于 XML 模式的 XMLType 數據進行 XQuery 優化。 所選擇的存儲模型并非是影響 XQuery 表達式執行性能的唯一因素。在某些情況下,XQuery 表達式本身的結構也可能導致性能問題。要監控 XQuery 表達式的性能,可以打印并檢查關聯的 EXPLAIN PLAN。在 SQL*Plus 中,只需設置 AUTOTRACE 系統變量,即可打印 SQL 優化程序使用的執行路徑。但要執行該操作,請確保創建 PLUSTRACE 角色,然后將其授予連接到數據庫所使用的用戶。有關如何執行此操作的信息,請參閱 Oracle 數據庫 10g 第 2 版 (10.2) 文檔中《SQL*Plus 用戶指南和參考》一書中的“調整 SQL*Plus”一章。以下示例演示了如何通過檢查 EXPLAIN PLAN 生成的執行計劃來獲得好處。假設您已經將 PLUSTRACE 角色授予默認用戶 OE,以 OE/OE 的身份登錄并運行以下查詢: SET AUTOTRACE ON EXPLAINSELECT count(*)FROM oe.purchaseorder, XMLTable('for $i in /PurchaseOrder/Userwhere $i = 'CJOHNSON'return $i'PASSING OBJECT_VALUE) ptab;這將生成以下輸出: COUNT(*)---------- 9Execution Plan----------------------------------------------------Plan hash value: 4046110317---------------------------------------------------------------------------------------- Id Operation;Name; Rows; Bytes Cost (%CPU) Time;;---------------------------------------------------------------------------------------- 0 SELECT STATEMENT;;;;1 ; 226; 29; (0); 00:00:01 1 ; SORT AGGREGATE;;;;;1 ; 226; 2 NESTED LOOPS 10782 2379K 29; (0); 00:00:01 * 3 TABLE Access FULL; PURCHASEORDER;;1 ; 226; ;5; (0); 00:00:01 4 COLLECTION ITERATOR P XMLSEQUENCEFROMX;;;;;;;;Predicate Information (identified by operation id):---------------------------------------------------3 - filter(SYS_CHECKACL('ACLOID','OWNERID',xmltype('...您可能對為以上查詢生成的執行計劃并不滿足。尤其是,所處理的行數可能非常大。由于 SQL 調整的主要目標是避免訪問對結果沒有任何影響的行,因此可能要繼續調整查詢以優化性能。對查詢中包含的 XPath 表達式進行重新建模后,可以再次重試它,如下所示: SELECT count(*)FROM oe.purchaseorder, XMLTable('for $i in /PurchaseOrderwhere $i/User = 'CJOHNSON'return $i/User'PASSING OBJECT_VALUE) ptab;這次,輸出應如下所示: COUNT(*)---------- 9Execution Plan---------------------------------------------------Plan hash value: 3411896580---------------------------------------------------------------------------------------- Id Operation;Name; Rows; Bytes Cost (%CPU) Time;;---------------------------------------------------------------------------------------- 0 SELECT STATEMENT;;;;1 29; 7(0); 00:00:01 1 ; SORT AGGREGATE;;;;;1 29; 2 NESTED LOOPS ;;1 29; 7(0); 00:00:01 3 ;FAST DUAL ;;1 ;;;;2(0); 00:00:01 * 4 ;TABLE ACCESS FULL PURCHASEORDER;;1 29; 5(0); 00:00:01 Predicate Information (identified by operation id):---------------------------------------------------4 - filter('PURCHASEORDER'.'SYS_NC00022$'='CJOHNSON' ANDSYS_CHECKACL('ACLOID','OWNERID',xmltype('...您可以看到,以上顯示的查詢生成相同的最終結果,但它們的執行計劃并不相同。查看最后一個示例中的 XQuery 表達式,您可能會注重到它迭代頂層 PurchaseOrder 元素,其中的每個 PurchaseOrder 元素都表示基于 PurchaseOrder XMLType 模式的表中的一行。這意味著實際上重寫 XQuery 表達式,以迭帶基礎對象表(用于存儲分解的 PurchaseOrder 文檔)中的行。與查詢要迭代不表示基礎表中的單個行的 XML 元素相比,該方法的性能更好一些。 但在某些情況下,很難發現 XQuery 表達式的哪個構造將使某些查詢的性能更好。這就是為什么最好在開發階段使用調整工具的原因。 將動態變量綁定到 XQuery 表達式另一種可以顯著提高 XQuery 表達式執行性能的技術是使用綁定動態變量。使用綁定變量(而不是將變量串聯為字符串)可以使 Oracle 重用 SQL 語句,從而減少分析開銷并顯著提高應用程序的性能。可以在 XMLQuery 和 XMLTable SQL 函數中使用 PASSING 子句將動態變量綁定到 XQuery 表達式。該技術使您可以根據客戶端代碼中計算的參數動態生成 XML。列表 3 中的示例演示了如何在從 PHP 腳本執行的 XQuery 查詢中使用綁定變量。 列表 3:使用綁定變量
標簽: Oracle 數據庫
主站蜘蛛池模板: 美女露隐私网站 | 蜜桃av蜜臀av色欲av麻 | 精品亚洲欧美高清在线观看 | 日韩中文字幕国产 | aa黄色片| 伊人精品无码av一区二区三区 | 美丽姑娘免费观看在线观看 | 91精产国品一二三区在线观看 | 奇米影视第四色首页 | 影音先锋中文字幕在线视频 | 免费在线看污视频 | 成人免费观看网站 | 亚洲国产综合av | 99久久人人爽亚洲精品美女 | 国产91福利在线观看 | 国产乱弄免费视频 | 日韩影音 | 亚洲第一综合色 | 成人爽a毛片在线视频 | 黄色一集片 | 7788色淫网站免费 | 日韩成人在线免费观看 | 青草影院内射中出高潮 | 激情黄色小说网站 | www成人网com | 91精品乱码久久蜜桃 | 日韩avv | 亚洲爆乳无码专区www | 91美女精品| 欧美xxxxx高潮喷水 | 特级西西人体444www高清大胆 | 521a人成v香蕉网站 | 国产成人久久婷婷精品流白浆 | 最新国产网址 | 狠狠做深爱婷婷久久综合一区 | 7777少妇色视频免费播放 | 手机看片福利一区二区三区 | 欧美日韩综合视频 | 大又大粗又爽又黄少妇毛片 | 九九视频在线 | 久久国产精品偷任你爽任你 | 欧美性猛交内射兽交老熟妇 | 免费一级特黄3大片视频 | 久久久福利 | 裸体精品bbbbbbbbb | 亚洲va国产日韩欧美精品色婷婷 | 日韩精品无玛区免费专区又长又大 | 国产精品无套粉嫩白浆在线 | caoporn国产| 成年美女黄网站色大免费视频 | 久久精品aⅴ无码中文字字幕 | 成人网免费视频m3u8 | 欧美成人一区二区三区片免费 | 日韩蜜桃视频 | jizzjizzjizz亚洲 | 日韩一级成人 | 中文字幕在线观看第二页 | 国产精品乱码一区二区三区四川人 | 九九热免费 | 日本少妇xxxx动漫 | 99国产精品国产精品九九 | 2024男人天堂| 激情网色 | 欧美色图首页 | 国产sm主人调教女m视频 | 国产精品探花在线观看 | 任你躁在线精品免费 | 国产女性无套免费看网站 | 国产精品66 | 国产网站视频 | 免费黄在线 | 欧美成人69| 亚洲色www成人永久网址 | 成人片黄网站色大片免费 | 夜夜精品无码一区二区三区 | 国产 日韩 欧美 制服 另类 | 中国一级特黄真人毛片免费观看 | 亚洲精品久久久久久久小说 | 99久无码中文字幕一本久道 | 人妻饥渴偷公乱中文字幕 | 免费无码毛片一区二三区 | 国产成人无码精品一区在线观看 | 麻麻张开腿让我爽了一夜 | 国产露脸系列magnet | 午夜精品久久久久久久蜜桃 | 亚洲一区二区三区成人 | 丰满熟女人妻中文字幕免费 | 国产成人精品一区二三区 | 久久综合精品国产丝袜长腿 | 国产农村妇女一区二区 | 色偷偷噜噜噜亚洲男人 | 国产一级免费 | 亚洲精品激情 | 亚洲成av人片在线观看无 | 日本强好片久久久久久aaa | 超碰97在线资源 | 超碰888 | 久久国产精品免费视频 | 怡红院免费的全部视频 | 大人和孩做爰aⅴ18 大人和孩做爰av | 成人性色生活片免费看l | 日韩精品久久久久久久九岛 | 98婷婷狠狠成人免费视频 | 毛片小视频 | 国产精品亚洲色婷婷99久久精品 | 综合网久久| 国产精品美女一区二区三区四区 | 亚洲在线中文字幕 | 天堂资源成人√ | 亚洲一区欧洲一区 | 毛片在线网址 | 国产成人区 | jizz黑人| 国产精品96久久久久久 | 91网站在线观看视频 | 亚洲国产精品写真 | 久久精品成人免费观看 | 久色亚洲| 欧美三级久久久 | 日本69式三人交 | 日韩欧美亚洲国产精品字幕久久久 | 国产清纯白嫩初高中在线观看性色 | 99精品久久久久久久婷婷 | 丰满少妇大力进入av亚洲葵司 | 91看片网 | 久色视频在线播放 | 亚洲天堂色图 | 亚洲成人在线网 | 国产一级做a | 亚洲欧洲日产国码无码久久99 | 亚 洲 视 频 高 清 无 码 | 久久小视频 | 亚洲精品在线看 | 夜夜精品无码一区二区三区 | 邻居少妇2中文字幕hd | 精品白嫩初高中害羞小美女 | 四虎国产精品免费观看视频优播 | 青青草视频免费观看 | 婷婷射精av这里只有精品 | 福利视频二区 | 国产国产国产 | 超清 忍不住的亲子伦中文字幕 | 国产午夜精品一区二区三区 | 日本少妇做爰奶水狂喷小说 | 欧美一级色 | 精品国产一区二区三区久久影院 | 国产一区二区三区高清在线观看 | 亚洲乱码一区二区三区三上悠亚 | 亚洲日本在线电影 | 久久欧美精品久久天美腿丝袜 | 极品尤物一区二区三区 | 欧美乱码精品一区二区三区 | 欧美性色黄大片手机版 | av鲁丝一区鲁丝二区鲁丝三区 | 丝袜人妻一区二区三区网站 | 色婷婷夜夜躁狠狠躁麻豆免费 | 四虎影院在线 | www国产成人免费观看视频深夜成人网 | 久久精品欧美日韩 | 黄色一级网站 | 国产一级久久久 | www.亚洲黄色 | 国产精品无码一区二区三区不卡 | 亚洲精品一区二区三区高潮 | 精品久久综合 | 欧美视频xxxx | 明日花绮罗576空乘在线播放 | 伊人情人色综合网站 | 日本黄色小说 | 日韩最新网址 | 亚洲性xxxx| 免费萌白酱国产一区二区三区 | 精品国产乱码久久久久久竹菊影视 | 99热精品国产一区二区在线观看 | √天堂资源地址在线官网 | 免费中文av | 国产在线视频网 | 欧美日本道 | 国产精品丝袜黑色高跟鞋 | 天天爽夜夜爽夜夜爽 | 日韩女优在线视频 | 免费观看视频一区二区 | 欧美性猛交xxxx乱大交丰满 | 亚洲午夜久久久久 | 午夜视频在线观看网站 | 国产喂奶挤奶一区二区三区 | av观看国产 | 一区二区三国产 | 精品人妻午夜一区二区三区四区 | 欧美专区一区 | 国精一二二产品无人区免费应用 | 久久国内精品 | 日韩一区2区 | 屁屁影院,国产第一页 | 99视频一区| 凹凸成人精品亚洲精品密奴 | 18禁裸男晨勃露j毛免费观看 | jizz欧美2黑人 | 中文字幕视频一区 | 狠狠色丁香久久综合网 | 精品国精品自拍自在线 | 激情小说视频在线 | 国产品无码一区二区三区在线 | 91亚色视频在线观看 | 国产一区二区色 | 久久久久久久久久久大尺度免费视频 | 亚洲乱亚洲乱妇小说网 | 午夜国产精品国产自线拍免费人妖 | 天天添天天操 | 超碰黄色| 992tv成人国产福利在线 | 欧美成人精品三级网站 | 一本一道av中文字幕无码 | 粉嫩小泬无遮挡久久久久久 | jizz欧美性10 | 欧美一级网 | 亚洲日韩久久综合中文字幕 | 国模张文静啪啪私拍150p | 手机在线成人 | 少妇与公做了夜伦理 | 少妇丰满尤物大尺度写真 | 天天色综合合 | 成人禁片又硬又粗太爽了 | 国精品无码一区二区三区左线 | 肉色欧美久久久久久久免费看 | 黑人操亚洲人 | 国产精品久久久久久久久久久久久久久久 | 国产亚洲精品日韩在线tv黄 | 中文字幕1页 | 成人中文字幕+乱码+中文字幕 | 亚洲粉嫩高潮的18p 国产精品美女www爽爽爽视频 | 日日噜噜噜噜久久久精品毛片 | 成人综合网址 | 国产日韩av在线 | 日韩一级免费片 | 日韩精品一区二区三区国语自制 | 国产高清性xxxxxxxx | 日韩欧美一区二区三区在线 | 黄色.com | 国产精品久久久久久网站 | jizjiz中国少妇高潮水多 | 国产又黄又硬又粗 | 啪啪免费网 | 成年人免费网站在线观看 | 91精品久久久久久综合乱菊 | 日日碰狠狠躁久久躁2023 | 尤物av无码色av无码 | 亚洲无线一二三四区手机 | 一区二区精品国产 | 欧洲一级视频 | 爱爱综合 | 看成人片 | 一本久道综合色婷婷五月 | h黄动漫日本www免费视频网站 | 天天在线观看 | 色天使亚洲| 久久综合久久自在自线精品自 | 成年人色片 | 姑娘第5集在线观看免费 | 人人爽久久涩噜噜噜小说 | 国产亚洲视频在线 | 一级又爽又黄的免费毛片视频 | av老司机在线观看 | 国产精自产拍久久久久久蜜 | 伊人欧美| 99国产精品久久久久久久夜 | 日韩精品无码一区二区三区 | 久久人人爽人人爽人人片ⅴ | 精品欧美乱码久久久久久 | 久久精品亚洲国产奇米99 | 久久精品欧美一区二区 | 亚洲jlzzjizz少妇| 韩国欧美三级 | 男人放进女人阳道动态图 | 亚洲精品成人av在线 | 久久久久久国产精品 | 亚洲成熟女人毛毛耸耸多 | 国产又粗又猛又爽又黄的 | 人妻聚色窝窝人体www一区 | 日韩国产在线播放 | 国产色综合久久无码有码 | 乱人伦中文字幕成人网站在线 | caoporn国产一区二区 | 免费播放黄色片 | 久久无码中文字幕久久无码app | 国产首页 | 成人永久视频 | 欧美精品久久久久久久久久 | 国产一区二区不卡视频 | 国产一区福利 | 亚洲精品国产一区二区的区别 | 国产做爰xxxⅹ高潮视频12p | 亚洲熟妇av日韩熟妇在线 | 欧美黄色一区 | 手机在线播放av | 精品xxxx户外露出视频 | 国产视频在线看 | 伦理东北丰满少妇 | 免费在线 | 色猫成人网 | 国产精品久久欧美久久一区 | 亚洲精品在线一区二区 | 男人天堂你懂的 | 五月天综合色 | 狠狠色综合色综合网络 | 捆绑裸体绳奴bdsm亚洲 | 日一日射一射 | 中国真实的国产乱xxxx | 97成网| 成人性生交大片免费看4 | 久久综合伊人 | 毛片无码免费无码播放 | 天天综合亚洲综合网天天αⅴ | 男女激情在线观看 | 黄色激情网站 | 天天综合国产 | 奇米影视777中文久久爱图片 | 成人欧美一区二区三区1314 | 男女作爱网站 | 农村女人乱淫免费视频麻豆 | 国产精品成人av片免费看 | 亚洲国产综合精品2020 | 成人亚洲精品久久久久软件 | 久久香焦 | 久久久精品二区 | 91精品免费视频 | 亚洲综合视频在线 | 少妇特黄a片一区二区三区 精品香蕉一区二区三区 | 暴力调教一区二区三区 | 国产精品区免费视频 | 少妇啪啪av一区二区三区 | 人人妻人人澡人人爽人人精品av | 日本www高清视频 | 中文字幕_第2页_高清免费在线 | 日本美女日批视频 | 亚洲日本va中文字幕 | 日本熟妇大乳 | 国产又粗又猛又爽又黄 | 成人性生交大片免费看r老牛网站 | 男女拍拍拍网站 | 男女性动态激烈动全过程 | 少妇人妻av毛片在线看 | 啃乳做爰猛烈床戏三级 | 女性无套免费网站在线看 | 精品国产综合 | 午夜快播 | 尤物精品在线 | jlzzjlzz国产精品久久 | 青娱乐欧美 | 国产精品岛国久久久久 | 日本女人一级片 | 午夜人成免费视频 | 欧美深夜福利 | 亚洲精品乱码久久久久久久久久久久 | 国产美女爆我菊免费观看88av | 国产h在线 | 精品国产第一国产综合精品 | 日韩成人高清视频 | 大咪咪dvd | 色欲天天天综合网 | 天干夜天干夜天天免费视频 | 强辱丰满人妻hd中文字幕 | 日韩三级精品 | 久久人人爽人人爽人人片av麻烦 | 97人人草 | 奇米狠狠777 | 亚洲欧美综合在线观看 | 亚洲精品视频免费看 | 九草在线观看 | 午夜视频免费在线观看 | 天天操狠狠干 | 乳霸冲田杏梨中文字幕担心学生的 | 国产三级在线免费观看 | 国产精品久久久久久av免费看 | 黑人巨大99vs小早川怜子 | 一本综合久久 | 波多野结衣丝袜ol在线播放 | 九色九一| 999资源站| 不卡的av| 欧美一区二区三区黄色 | 久久精品国产一区二区三区不卡 | 新狼窝色av性久久久久久 | а√天堂8资源在线官网 | 亚洲最大色网站 | 国产日韩av免费无码一区二区三区 | 性视频免费的视频大全2015年 | 一区二区三区四区精品视频 | 亚洲精品四区 | a∨变态另类天堂无码专区 人妻丰满熟妇av无码区不卡 | 国产又黄又爽又猛免费视频网站 | 波多野结衣先锋影音 | 亚洲乱码一区二区三区三上悠亚 | 黄色国产精品 | 91香蕉视频黄色 | 日韩激情视频网站 | 中国免费一级片 | 男女插插插视频 | 无码色偷偷亚洲国内自拍 | 精品国产粉嫩内射白浆内射双马尾 | 性生交大片免费视频网站 | cekc老妇女cea0| 黄色一级片儿 | 三级五月天 | 伊人夜夜躁av伊人久久 | 国产福利精品一区二区 | 日韩av视屏 | 经典av在线| 日本人做爰大片免费网站 | av资源首页| 成人欧美一区二区三区视频 | 中文字幕在线观看视频网站 | 欧美人与禽2o2o性论交 | 小萝莉末成年一区二区 | 爱性久久久久久久久 | 肉大榛一进一出免费视频 | 久久婷婷激情综合色综合俺也去 | 国产91www| 东北农村老女人乱淫视频毛片 | 亚洲在av极品无码天堂手机版 | 天天摸天天做天天爽婷婷 | 国产喷水福利在线视频 | 高清不卡一区二区 | 一级全黄少妇免费录像片 | 亚洲夜夜夜 | 免费在线观看黄色网 | 日本午夜免费 | av无码免费岛国动作片 | 国产猛男猛女超爽免费视频 | 26uuu日韩精品一区二区 | 欧美在线v | 91涩涩涩| 性欧美18-19sex性高清播放 | 日韩欧美在线观看 | 色综合久久综合欧美综合网 | 成人在线免费观看视频 | 日本丰满大乳mm | 国产做a爱片久久毛片a片高清 | 91精品国产人妻国产毛片在线 | 国产女人水真多18毛片18精品 | 午夜免费成人 | 国产精品成人一区二区三区 | 欧美极品少妇xxxxⅹ免费视频 | 人妻无码中文专区久久五月婷 | 人善交video另类hd国产片 | 精品一区二区三区无码免费视频 | 午夜影院在线观看免费 | av国产成人| 日本少妇一级片 | 555www成人网 | 亚洲热av | 18禁超污无遮挡无码免费游戏 | av中文字幕网址 | 久久国产精品精品国产色婷婷 | 99国产精品久久久久久久日本竹 | 国产suv精品一区二区四 | 久草在线视频网 | 亚洲国产欧美日韩精品一区二区三区 | 91亚洲一区 | 免费黄色短片 | 中文字幕乱码在线观看 | 日日操夜夜草 | 色伊人久久 | 国产三级成人 | 天天操综合网 | 成人免费版 | 少妇荡乳情欲办公室456视频 | 成人免费毛片内射美女-百度 | 国产老头和老头xxxxx免费 | 亚洲精品免费在线 | 中文字幕精品久久 | 日本免费一区二区三区 | 中文字幕第22页 | 青青草好吊色 | 中文字幕精品一二三四五六七八 | 国产精品久久久一区二区 | 99久久er热在这里只有精品15 | 久爱视频在线观看 | 久久国产精久久精产国 | 亚洲综合中文 | 国产伦精品一区二区三区妓女下载 | 少妇高潮太爽了在线视频 | 亚洲性视频网站 | 老司机67194精品线观看 | 波多野结衣乳巨码无在线 | 14萝自慰专用网站 | 三级全黄的女人高潮叫 | 天海翼一区 | 射精专区一区二区朝鲜 | 99久久精品国产毛片 | 来吧亚洲综合网 | 亚洲一级黄色大片 | 69视频网| 美女内射毛片在线看3d | 少妇一级淫免费观看 | 六月丁香婷婷激情 | 亚洲视频免费在线观看 | 国产成人a在线观看视频 | 男女做爰猛烈吃奶啪啪喷水网站 | 51av在线| 精品自拍第一页 | 美女三级视频 | 中国女人精69xxx25 | 国产区在线视频 | 99久久久久成人国产免费 | 91午夜少妇三级全黄 | 亚洲第一精品网站 | 中文字幕日本最新乱码视频 | 性xxxx搡xxxxx搡欧美 | zzijzzij亚洲成熟少妇 | 日韩一区精品视频一区二区 | 真人与拘做受免费视频一 | 日日碰狠狠添天天爽超碰97久久 | 久久久无码精品亚洲日韩按摩 | 国产精品日韩 | 电影内射视频免费观看 | 久久精品无码一区二区小草 | 一级做性色α爱片久久毛片色 | 日韩一区二区视频在线 | 国产精品亚洲欧美在线播放 | 无码专区人妻系列日韩精品 | 欧美日韩国产免费一区二区三区 | 8090yy成人免费看片 | 4438xx亚洲最大五色丁香 | 黄在线网站| 99国产超薄肉色丝袜交足的后果 | 视频一区二区三区在线观看 | 无码熟妇人妻av在线网站 | av番号网| 宇都宫紫苑在线播放 | 久久国产精品成人免费 | 在线成人播放 | 最新av免费| 欧美z○zo重口另类黄 | 亚洲欧美中文字幕 | 日本艹逼视频 | 波多野结衣乳巨码无在线观看 | 久久αv | 中文字幕一区二区精品 | 久久99精品久久久久久动态图 | 五月丁香六月综合缴情在线 | 国产亚洲精品久久久91 | 国产做国产爱免费视频 | 国产精品福利视频一区 | 四虎院影亚洲永久 | 婷婷色综合网 | 免费大片av | 精二青青河边草解释正确的是 | 中文字幕一区二区三区视频 | 91av成人| 国产精品一卡二卡三卡 | 综合久久国产九一剧情麻豆 | 东北老女人av | 日韩三级黄 | 未满成年国产在线观看 | 久久久久久香蕉 | 三级网址在线 | 男人的天堂欧美 | 夜夜爽久久揉揉一区 | 欧洲中文字幕 | 亚洲精品乱码久久 | 国精品无码一区二区三区左线 | 亚洲综合无码久久精品综合 | 天天想天天干 | 7788色淫网站免费 | 国产偷自拍 | 精品精品国产毛片在线看 | 精品无码国产污污污免费网站 | 午夜久久视频 | 在线亚洲人成电影网站色www | 成人午夜在线观看 | 亚洲色图综合网 | 国产又粗又猛又爽视频上高潮 | 亚洲啪啪av | 草草在线观看视频 | 国产亚洲精品久久久久久移动网络 | 国产麻豆精东果冻传媒 | 又白又嫩毛又多15p 国产热の有码热の无码视频 | 99国产精品久久久久久久日本竹 | 亚洲国产精品久久久久爰色欲 | 成人短视频在线 | 欧美国产一级 | 久草在线国产视频 | 亚洲熟妇无码av另类vr影视 | 色狠狠色狠狠综合天天 | h文日记高h污肉1v1 | 亚洲第一黄色网 | 久久我不卡 | 中文字幕淫 | 肉体粗喘娇吟国产91 | 色多多性虎精品无码av | 国产成人精品一区二区三区 | 亚洲影音| 亚洲午夜久久久久久久久电影网 | 久久久久无码精品国产不卡 | 国产一区二区三区三州 | 麻豆国产va免费精品高清在线 | 国产午夜三级 | 日本三级免费 | 亚洲精品无吗 | 日本精品巨爆乳无码大乳巨 | 538在线精品 | 超碰免费在线 | 爱爱视频免费看 | 丝袜一区在线观看 | 欧洲熟妇牲交 | 麻豆福利在线观看 | 亚洲第一天堂av | www.自拍偷拍 | 日本欧美黄色 | 黄色网页免费观看 | 欧洲视频一区二区 | 国产做a爱片久久毛片 | 欧美国产日韩a在线视频 | 亚洲黄色天堂 |