精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳細(xì)了解SQL.js的基本特性

數(shù)據(jù)庫 MySQL
在本教程中,我們將討論 SQL.js,這是一個(gè) JavaScript SQL 庫,可讓您完全在瀏覽器中創(chuàng)建和查詢關(guān)系數(shù)據(jù)庫。

SQL,即結(jié)構(gòu)化查詢語言,是一種特定領(lǐng)域的語言,旨在訪問和操作關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。在SQL語句的幫助下,你可以在關(guān)系型數(shù)據(jù)庫上執(zhí)行創(chuàng)建、更新、檢索和刪除數(shù)據(jù)等操作。

關(guān)系數(shù)據(jù)庫是一種數(shù)據(jù)模型,它使用行和列將數(shù)據(jù)組織在一個(gè)表中。雖然可能有多個(gè)使用SQL的關(guān)系數(shù)據(jù)庫管理系統(tǒng),但幾乎所有這些系統(tǒng)都被設(shè)計(jì)為服務(wù)器端進(jìn)程。其中包括:

  • MySQL
  • PostgreSQL
  • SQLite
  • MSSQL

在本教程中,我們將討論 SQL.js,這是一個(gè) JavaScript SQL 庫,可讓您完全在瀏覽器中創(chuàng)建和查詢關(guān)系數(shù)據(jù)庫。

[[412467]]

我們將通過以下步驟,以每個(gè)部分的詳細(xì)例子來說明

  • 什么是SQL.js?
  • 使用SQL.js的利弊
  • 安裝(瀏覽器和 Node.js)
  • 編寫 SQL 查詢和準(zhǔn)備好的語句

什么是SQL.js?

SQL.js是一個(gè)JavaScript庫,允許你完全在瀏覽器中創(chuàng)建和查詢一個(gè)關(guān)系數(shù)據(jù)庫。它使用一個(gè)存儲(chǔ)在瀏覽器內(nèi)存中的虛擬數(shù)據(jù)庫文件,所以它不會(huì)持久化對(duì)數(shù)據(jù)庫的修改。

這個(gè)庫還使用Emscripten將SQLite編譯成WebAssembly (Wasm)。有了這個(gè)功能,你可以很容易地把現(xiàn)有的SQLite數(shù)據(jù)庫引入到SQL.js中使用,也可以把在SQL.js中創(chuàng)建的數(shù)據(jù)庫轉(zhuǎn)換成SQLite。

使用SQL.js的利弊

使用SQL.js有幾個(gè)好處。它是為客戶端建立的,并完全在客戶端工作,這意味著它不需要任何服務(wù)器端的進(jìn)程來工作。它比MySQL、PostgreSQL和其他需要第三方軟件才能使用的軟件更容易設(shè)置。開始使用SQL.js就像在一個(gè)現(xiàn)有的HTML項(xiàng)目中安裝jQuery一樣容易。而且SQL.js提供了對(duì)執(zhí)行包含多個(gè)語句的單個(gè)SQL字符串的支持,如下圖所示。

  1. sqlstr = "CREATE TABLE tableName(colA, colB);"
  2. sqlstr += "INSERT INTO hello VALUES (0, 'hello');" 
  3.     .... 

但也有一個(gè)重要的缺點(diǎn):使用 SQL.js 時(shí)對(duì)數(shù)據(jù)庫的更改不是持久的。再讀一遍:當(dāng)你重新加載瀏覽器時(shí),對(duì)你的數(shù)據(jù)庫所做的所有改變都將不復(fù)存在。這是因?yàn)镾QL.js使用了一個(gè)存儲(chǔ)在瀏覽器內(nèi)存中的虛擬數(shù)據(jù)庫文件。然而,你可以導(dǎo)入任何現(xiàn)有的SQLite文件,并將創(chuàng)建的數(shù)據(jù)庫導(dǎo)出為一個(gè)JavaScript類型的數(shù)組。

安裝 SQL.js

(1) 瀏覽器安裝

將SQL.js整合到一個(gè)新的基于客戶端的項(xiàng)目中是非常容易的。你可以通過包括CDN或下載源文件并將其鏈接到你的標(biāo)記頁面來開始。

默認(rèn)情況下,SQL.js 使用 WebAssembly,除了 JavaScript 庫外,還需要加載 .wasm 文件。你可以在網(wǎng)上下載這個(gè)文件,并使用locateFile 功能在你的網(wǎng)頁中加載這個(gè)文件,像這樣。

  1. <!DOCTYPE html> 
  2. <html lang="en"> 
  3.   <head> 
  4.     <title>Page Title</title> 
  5.     <script src="https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.5.0/sql-wasm.js"></script> 
  6.     <script> 
  7.       // Load sql.js WebAssembly file 
  8.       let config = { 
  9.         locateFile: () => "/path/to/downloaded/sql-wasm.wasm", 
  10.       }; 
  11.       initSqlJs(config).then(function (SQL) { 
  12.           console.log("sql.js initialized "); 
  13.       }); 
  14.     </script> 
  15.   </head> 
  16.   <body></body> 
  17. </html> 

在上面的代碼塊中,我們使用 initSqlJs 異步加載Wasm二進(jìn)制文件,并在加載所需文件后初始化SQL.js。

(2) Node.js安裝

在基于 Node 的項(xiàng)目中安裝 SQL.js 也非常簡(jiǎn)單。要安裝它,您只需運(yùn)行:

  1. npm install sql.js 

或者,你可以從前面的鏈接中下載 sql-wasm.js 和 sql-wasm.wasm,并使用Node.js的 require 函數(shù)在你的項(xiàng)目中加載它們。

另外,在基于Node的項(xiàng)目中,你可以跳過 locateFile 方法來加載 sql-wasm.wasm文件,因?yàn)槿绻湍阏谔幚淼奈募谕粋€(gè)文件夾中,它將自動(dòng)加載。所以我們的代碼將看起來像這樣。

  1. var initSqlJs = require("./sql-wasm.js"); 
  2.  
  3. initSqlJs().then(function (SQL) { 
  4.   console.log("sql.js initialized "); 
  5. }); 

編寫 SQL 查詢和準(zhǔn)備好的語句

現(xiàn)在我們已經(jīng)完成了安裝和初始化 SQL.js 的所有必要步驟,讓我們深入了解它的用法。

(1) 創(chuàng)建數(shù)據(jù)庫

下面的代碼創(chuàng)建一個(gè)新的數(shù)據(jù)庫:

  1. const db = new SQL.Database(); 

值得注意的是,SQL.Database() 方法接受一個(gè)可選參數(shù) data,它必須是一個(gè)表示 SQLite 數(shù)據(jù)庫文件的 Uint8Array。例如,在 Node.js 中,我們可以加載一個(gè)現(xiàn)有的 .sqlite 文件,如下所示:

  1. let fs = require("fs"); 
  2. let initSqlJs = require("./sql-wasm.js"); 
  3. let filebuffer = fs.readFileSync("/path/to/sample.sqlite"); 
  4.  
  5. initSqlJs().then(function (SQL) { 
  6.   // Create a new database with our existing sample.sqlite file 
  7.   const db = new SQL.Database(filebuffer); 
  8. }); 

在上面的代碼中,我們使用內(nèi)置的 Node.js fs 和 path 模塊來讀取我們現(xiàn)有的 sample.sqlite 文件。

(2) 運(yùn)行 SQL 語句

SQL 語句可以是在數(shù)據(jù)庫中創(chuàng)建或檢索一條信息或?qū)ΜF(xiàn)有數(shù)據(jù)執(zhí)行操作的請(qǐng)求。

使用SQL.js,你可以很容易地運(yùn)行一個(gè)語句,而不讀取其結(jié)果。語法如下所示。

  1. db.run(stmt); 

當(dāng)然,參數(shù) stmt 是你的SQL語句。下面是一個(gè)例子,說明如何在我們的數(shù)據(jù)庫中創(chuàng)建一個(gè)名為 users 的新表,其中有ID、姓名、電話號(hào)碼和地址等列。它還將在此表中插入一個(gè)新行。

  1. let initSqlJs = require("./sql-wasm.js"); 
  2.  
  3. initSqlJs().then(function (SQL) { 
  4.   const db = new SQL.Database(); 
  5.   // RUNNING SQL QUERIES  
  6.   db.run("CREATE TABLE users (id, name, phone, address);"); 
  7.   db.run( 
  8.     `INSERT INTO users (id, name, phone, address) 
  9.         VALUES (1, 'John Doe', '+234-907788', '12 Igodan Street, Okitipupa')` 
  10.   ); 
  11. }); 

(3) 準(zhǔn)備好的 SQL 語句

你可以使用準(zhǔn)備好的語句來重復(fù)執(zhí)行相同或類似的SQL語句,而且效率很高。準(zhǔn)備好的語句比運(yùn)行中的SQL語句有更短的解析時(shí)間,因?yàn)閷?duì)查詢的準(zhǔn)備工作只做一次。它們對(duì)防止SQL注入也非常有用,因?yàn)槟悴恍枰D(zhuǎn)義參數(shù)值,這些參數(shù)值隨后會(huì)使用不同的協(xié)議傳輸。

使用 SQL.js,我們還可以使用 .prepare() 方法編寫準(zhǔn)備好的語句:

  1. var stmt = db.prepare(preparedStatement); 

以下是在我們之前的數(shù)據(jù)庫中獲取 ID 介于 1 和 10 之間的所有用戶的示例:var stmt = db.prepare("SELECT * FROM users WHERE id BETWEEN $start AND $end");

  1. stmt.bind({ $start: 1, $end: 2 }); 
  2. while (stmt.step()) { 
  3.   var row = stmt.getAsObject(); 
  4.   console.log("Here is a user row: " + JSON.stringify(row)); 

在寫完我們準(zhǔn)備好的SQL語句后,我們使用 .bind() 方法來綁定我們的語句所需的值(上例中的 start 和 end )。繼續(xù)前進(jìn),我們將使用一個(gè) while 循環(huán)來返回所有可能的行,并將它們記錄到控制臺(tái)。

(4) 將數(shù)據(jù)庫寫入磁盤

SQL.js還提供了一個(gè)選項(xiàng),通過 db.export() 方法將數(shù)據(jù)庫導(dǎo)出/寫入磁盤,成為一個(gè) .sqlite 文件。結(jié)果將以 Uint8Array 形式返回,你可以使用Node.js Buffer 類和文件系統(tǒng)包將數(shù)據(jù)庫寫入磁盤。

  1. var fs = require("fs"); 
  2. /*** 
  3.   Code to create a database here 
  4. ***/ 
  5. // Export database  
  6. var data = db.export(); 
  7. var buffer = new Buffer(data); 
  8. fs.writeFileSync("new-db.sqlite", buffer); 

運(yùn)行上面的代碼后,您應(yīng)該在項(xiàng)目根文件夾中看到一個(gè)名為 new-db.sqlite 的新文件。

總結(jié)

在本文中,我們介紹了 SQL.js、它提供的功能以及如何在實(shí)際應(yīng)用程序中使用它。雖然SQL.js可能非常適合構(gòu)建一個(gè)離線優(yōu)先的應(yīng)用程序,如記事本應(yīng)用程序,但在你想從管理面板管理用戶數(shù)據(jù)的情況下,你可能要考慮使用其他關(guān)系數(shù)據(jù)庫(MySQL、PostgreSQL)。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-03-08 08:44:13

偏向鎖Java內(nèi)置鎖

2009-07-06 16:05:50

JSP特點(diǎn)

2010-10-21 15:26:35

SQL Server字

2021-04-13 09:07:33

InnoDB內(nèi)存結(jié)構(gòu)

2010-04-16 11:08:23

2010-11-16 09:55:12

Oracle分區(qū)索引

2010-11-12 14:29:46

Sql Server創(chuàng)

2011-06-07 11:21:04

JSP隱含對(duì)象

2011-07-28 10:40:40

Cocoa KVO

2011-08-25 15:10:49

LUAWindows環(huán)境配置

2011-07-01 14:34:02

Thread Affinity 信號(hào)

2010-10-25 11:51:05

Oracle單行字符串

2018-11-27 15:55:21

TCP通訊協(xié)議

2021-06-12 07:38:21

Linkerd 2.Service Mes微服務(wù)

2019-12-10 11:22:22

Kubernetes云計(jì)算容器

2011-04-20 10:02:22

PowerShell

2010-08-06 11:20:10

路由信息協(xié)議RIP

2023-10-13 07:54:49

數(shù)據(jù)庫MySQL

2009-11-30 13:51:37

2010-02-05 18:09:12

Android
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

先锋资源在线视频| 艳色歌舞团一区二区三区| 日韩欧美不卡视频| 免费精品国产| 欧美老肥妇做.爰bbww| 操bbb操bbb| 亚洲欧洲综合在线| 免费成人美女在线观看.| 欧美成人精品激情在线观看 | 精品国产一区二区三区麻豆免费观看完整版 | 1pondo在线播放免费| 韩国av一区二区三区四区| 久久久噜噜噜久噜久久| 欧美人与禽zoz0善交| 日韩精品一区二区三区中文字幕| 疯狂蹂躏欧美一区二区精品| 中文字幕日韩精品一区二区| 污视频网站免费观看| 久草在线在线精品观看| **欧美日韩vr在线| 欧美激情图片小说| 日韩欧美高清在线播放| 欧美xxxx在线观看| 午夜视频在线网站| 成人勉费视频| 亚洲va欧美va人人爽| 视频一区视频二区视频三区视频四区国产 | 一区二区黄色片| aiai久久| 日韩一区二区免费高清| 一区二区三区国产免费| 欧亚在线中文字幕免费| 亚洲国产精品欧美一二99| 亚洲永久一区二区三区在线| 天堂91在线| 成人动漫中文字幕| 91精品国产91久久久久青草| 性高潮视频在线观看| 国产精品日韩精品欧美精品| 色综合久久精品亚洲国产| 激情无码人妻又粗又大| 影音先锋制服丝袜| 欧洲av不卡| 五月婷婷激情综合| 日本五级黄色片| 免费a级在线播放| 日本一区二区三区四区| 欧美大香线蕉线伊人久久| 乱色精品无码一区二区国产盗| 久久国产麻豆精品| 国产精品美女免费看| www.久久久久久久| 国产精品日本欧美一区二区三区| 国外成人在线直播| 日本一二三区视频| 99在线热播精品免费99热| 久久久久久久久久久网站| 欧美成人黄色网| 欧美国产激情| 色综合老司机第九色激情| 欧美精品xxxxx| 红桃视频欧美| 性视频1819p久久| 欧美三级韩国三级日本三斤在线观看| 黄色亚洲免费| 91精品国产91久久久久久最新| 日本一级淫片免费放| 亚洲激情自拍| 欧美一级在线亚洲天堂| 天天干天天操天天爱| 日日骚欧美日韩| 国产国语videosex另类| 在线免费观看av片| 国产剧情在线观看一区二区| 成人在线免费观看一区| 欧美综合视频在线| 久久免费偷拍视频| 亚洲 国产 欧美一区| 秋霞午夜在线观看| 一区二区三区在线免费| 成年人午夜免费视频| 高清电影一区| 欧美一区二区大片| 国产亚洲色婷婷久久99精品91| 香蕉一区二区| www国产亚洲精品久久网站| 亚洲国产精品免费在线观看| 99精品热6080yy久久| 国产成人精品一区二区| 国产又粗又猛又爽又黄91| 国产成人亚洲综合a∨婷婷图片| 国产午夜精品一区| 福利片在线观看| 一区二区高清免费观看影视大全| 男女激情无遮挡| 草民电影神马电影一区二区| 日韩一区二区三区免费看| 91黄色免费视频| 日韩欧美中文| 97色伦亚洲国产| 中文字幕理论片| 不卡av在线免费观看| 污视频在线免费观看一区二区三区| 3d玉蒲团在线观看| 一本大道久久精品懂色aⅴ| 色一情一区二区三区| 久久久久影视| 久久人体大胆视频| 亚洲GV成人无码久久精品| 国产一区不卡视频| 日韩欧美亚洲日产国| 色yeye免费人成网站在线观看| 色呦呦一区二区三区| 午夜性福利视频| 日韩精品久久| 热久久这里只有| 国 产 黄 色 大 片| 欧美韩国一区二区| 116极品美女午夜一级| 日本超碰一区二区| 色噜噜国产精品视频一区二区| 丰满少妇乱子伦精品看片| 精品一区二区免费看| 日本一区二区三区四区高清视频| 日韩另类在线| 91麻豆精品国产自产在线 | 九九热99久久久国产盗摄| 免费在线观看av的网站| 99国产精品久久久久久久久久久| 国产盗摄视频在线观看| 国产91在线播放精品| 亚洲欧美国产精品va在线观看| 久久久久亚洲av片无码下载蜜桃 | 日本黄色www| 日韩欧美视频专区| 日韩av观看网址| 五月激情婷婷综合| 亚洲动漫第一页| 亚洲av综合色区无码另类小说| 成人直播大秀| 国产精品www网站| 加勒比一区二区三区在线| 精品久久久久久久久久ntr影视| xxxx视频在线观看| 欧美国内亚洲| 国产精品日韩一区二区| 欧美性video| 精品嫩草影院久久| 国产精品 欧美 日韩| 大尺度一区二区| av片在线免费| 国产一区福利| 国语自产精品视频在线看| 丰满大乳国产精品| 亚洲成人av电影在线| 国产精品久久久久久在线观看| 欧美一区影院| 国产成人看片| 国产剧情av在线播放| 日韩电影免费在线观看中文字幕 | 1stkiss在线漫画| 日韩一级完整毛片| 国产精品视频福利| 亚洲av无一区二区三区久久| 成人免费a**址| 国产精品午夜一区二区欲梦| 在线视频自拍| 91精品国产美女浴室洗澡无遮挡| 中文字幕另类日韩欧美亚洲嫩草| 高清久久久久久| 可以在线看的av网站| 精品一区亚洲| 国产精品视频网站| 在线观看男女av免费网址| 日韩精品一区二区三区三区免费 | 亚洲精品一二三区区别| 91福利视频导航| а_天堂中文在线| 亚洲男人天堂网| 国产精品高潮呻吟AV无码| 亚洲精品欧美二区三区中文字幕| 91丝袜超薄交口足| 91久久久久| 日韩hmxxxx| 国产精品一站二站| 97成人在线视频| 自拍视频在线免费观看| 日韩视频一区二区三区| 成年人免费高清视频| 欧美国产日韩一二三区| 一本之道在线视频| 国产欧美一区二区色老头 | 在线观看91视频| 国产黄在线免费观看| 成年人午夜久久久| 一区二区三区 日韩| 欧美特黄一区| 日韩在线电影一区| 久久1电影院| 国产日韩欧美成人| 深夜成人在线| 欧美成人精品在线观看| 久久99久久| 精品欧美一区二区久久| 中文字幕丰满人伦在线| 五月天欧美精品| 亚洲精品自拍视频在线观看| 不卡电影一区二区三区| 天堂av在线8| 久久视频一区| 日本熟妇人妻xxxx| 97人人精品| 欧洲亚洲一区| 综合视频一区| 国产色综合天天综合网 | 色综合久久久久综合99| 波兰性xxxxx极品hd| wwwwxxxxx欧美| 中文字幕在线观看视频www| 日韩高清在线观看| 人妻精品无码一区二区三区| 欧美精品国产一区二区| 亚洲精品美女久久7777777| 亚洲人成网站77777在线观看| 99久久综合狠狠综合久久止 | 欧美日韩美少妇| 日韩特级黄色片| 午夜av区久久| 欧美激情国产精品免费| 亚洲日本青草视频在线怡红院| 韩国女同性做爰三级| 99re成人精品视频| 国产51自产区| 成人一级视频在线观看| 久久久精品视频国产| 老汉av免费一区二区三区| 久久久久国产精品熟女影院| 国产农村妇女精品一区二区| 精品国产av无码一区二区三区| 欧美视频成人| 亚洲色欲久久久综合网东京热| 五月婷婷亚洲| 中国成人在线视频| 婷婷综合五月| 精品一区二区三区毛片| 亚洲一区 二区 三区| 成人性做爰片免费视频| 中文字幕一区二区精品区| 裸体大乳女做爰69| 久久精品久久久| 致1999电视剧免费观看策驰影院| 99九九热只有国产精品| 中文一区一区三区免费| 国产精品久久久久久麻豆一区软件| 伊人久久av导航| 五月精品视频| av动漫在线免费观看| 国色天香一区二区| 人体内射精一区二区三区| 国产日韩一区| 蜜臀视频一区二区三区| 理论片日本一区| 一级做a爱视频| 成人免费观看视频| 精品中文字幕在线播放| 久久奇米777| 亚洲色图100p| 亚洲一二三四区不卡| 国产一区二区三区影院| 色偷偷一区二区三区| 在线免费观看视频网站| 欧美一区二区三区视频免费播放| 国内毛片毛片毛片毛片| 亚洲激情视频在线观看| 黄色av免费在线观看| xxxx欧美18另类的高清| 久久免费电影| 青青精品视频播放| 亚洲老司机网| 好看的日韩精品| 成人中文视频| 国产美女主播在线| 久久这里有精品15一区二区三区| 日韩精品视频一二三| 国产成人在线视频免费播放| 久久久久亚洲av无码专区桃色| 国产精品久久久久7777按摩| 免费中文字幕在线观看| 日韩欧美精品中文字幕| 国产精品久久久国产盗摄| 亚洲激情在线视频| 久久99精品久久久久久野外| 97精品国产97久久久久久| 国产精品久久久久久久久免费高清| 3d动漫啪啪精品一区二区免费 | 精品国产一区二区三区性色av| 国产中文一区二区| 欧美激情理论| av黄色在线网站| 国产一区二区三区在线观看精品 | 国产成人精品999| 欧美经典影片视频网站| 日本一区视频在线| 亚洲人体大胆视频| www.桃色.com| 国产视频911| 亚洲精品www久久久久久| 欧美精品18+| 成人18在线| 国产69精品99久久久久久宅男| 国产福利91精品一区二区| 久久av一区二区三区漫画| 亚洲女同一区| 日本人视频jizz页码69| 99re热视频这里只精品| 久久久精品91| 欧美高清你懂得| yiren22综合网成人| 2020欧美日韩在线视频| 一区二区网站| 99热都是精品| 麻豆免费精品视频| 国产美女免费网站| 色诱亚洲精品久久久久久| 亚洲成人一级片| 久久五月情影视| 欧洲午夜精品| 亚洲v欧美v另类v综合v日韩v| 亚洲综合二区| 大尺度做爰床戏呻吟舒畅| 亚洲免费大片在线观看| 国产永久免费视频| 日韩在线视频观看正片免费网站| 国模一区二区| 欧美在线视频二区| 宅男噜噜噜66一区二区| 美女黄色一级视频| 亚洲国产精品嫩草影院| 亚洲成人中文字幕在线| 欧美日韩aaaa| 91免费精品国偷自产在线在线| 只有这里有精品| 国产东北露脸精品视频| 久久国产精品波多野结衣av| 日韩精品一区在线| 成人三级小说| 国产在线播放一区二区| 在线成人欧美| 国产美女视频免费观看下载软件| 亚洲成人av电影| 欧美女v视频| 国产成人午夜视频网址| 成人3d精品动漫精品一二三| 超碰在线97免费| 中文字幕一区二区三区精华液| 国产一区二区三区三州| 久热爱精品视频线路一| 中文字幕久久精品一区二区| 国产小视频免费| 99久久国产综合精品女不卡| 亚洲AV无码成人精品区东京热| 亚洲女人天堂av| 国产一区二区色噜噜| 日韩不卡一二区| 成人av在线影院| 久久久久在线视频| 日韩最新中文字幕电影免费看| 视频91a欧美| 免费在线黄网站| 91在线观看地址| 伊人影院中文字幕| 欧美激情视频网址| 色橹橹欧美在线观看视频高清| 黑人粗进入欧美aaaaa| 亚洲手机成人高清视频| 亚洲女人18毛片水真多| 日韩av高清不卡| 亚洲成人av| 少妇光屁股影院| 欧美日韩一级视频| 女囚岛在线观看| 欧美一区二区综合| 国产麻豆视频精品| 久久久国产高清| 日韩在线视频国产| 久久久久97| 性生生活大片免费看视频| 亚洲午夜久久久久久久久电影院 | 国产又爽又黄免费软件| 久久青草福利网站| 波多野结衣在线观看一区二区三区| 美女日批在线观看| 在线视频亚洲一区| 美女91在线| 亚洲人成网站在线播放2019| 成人免费视频视频在线观看免费| 中文字幕乱码人妻二区三区| 97精品免费视频| 欧美aⅴ99久久黑人专区| 日本aaa视频|