青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統(tǒng)計(jì)

最新評(píng)論

sqlite3: 一個(gè)SQLite數(shù)據(jù)庫的命令行接口 --- 轉(zhuǎn)

sqlite3: 一個(gè)SQLite數(shù)據(jù)庫的命令行接口

        原文地址:http://www.sqlite.org/sqlite.html

    SQLite庫包含一個(gè)名字叫做sqlite3的命令行,它可以讓用戶手工輸入并執(zhí)行面向SQLite數(shù)據(jù)庫的SQL命令。本文檔提供一個(gè)樣使用sqlite3的簡要說明。

開始

      啟動(dòng)sqlite3程序,僅僅需要敲入帶有SQLite數(shù)據(jù)庫名字的"sqlite3"命令即可。如果文件不存在,則創(chuàng)建一個(gè)新的(數(shù)據(jù)庫)文件。然后sqlite3程序?qū)⑻崾灸爿斎隨QL。敲入SQL語句(以分號(hào)“;”結(jié)束),敲回車鍵之后,SQL語句就會(huì)執(zhí)行。

        例如,創(chuàng)建一個(gè)包含一個(gè)表"tb11"名字為"ex1"的SQLite數(shù)據(jù)庫,你可以這樣做:

$sqlite3 ex1
SQLite version 3.3.17
Enter ".help" for instructions
sqlite> create table tbl1(one varchar(10), two smallint);
sqlite> insert into tbl1 values('hello!', 10);
sqlite> insert into tbl1 values('goodbye', 20);
sqlite> select * from tbl1;
hello!|10
goodbye|20
sqlite>

        你可以通過敲你所用系統(tǒng)的文件結(jié)束符(通常是Ctrl + D)或者中斷字符(通常是Ctrl + C)。來終止sqlite3程序。確定你在每個(gè)SQL語句結(jié)束敲入分號(hào)!sqlite3程序通過查找分號(hào)來決定一個(gè)SQL語句的結(jié)束。如果你省略分號(hào),sqlite3將給你一個(gè)連續(xù)的命令提示符并等你給當(dāng)前的SQL命令添加更多的文字。這個(gè)特點(diǎn)讓你輸入多行的多個(gè)SQL語句,例如:

sqlite> create table tbl2(
   ...> f1 varchar(30) primary key,
   ...> f2 text,
   ...> f3 real
   ...> );
sqlite>

題外話:查詢SQLITE_MASTER表

    SQLite數(shù)據(jù)庫的框架被保存在一個(gè)名叫"sqlite_master"的特殊的表中。你可以像查詢其它表一樣通過執(zhí)行“SELECT”查詢這個(gè)特殊的表。例如:


$ sqlite3 ex1
SQlite vresion 3.3.10
Enter ".help" for instructions
sqlite> select * from sqlite_master;
    type = table
    name = tbl1
tbl_name = tbl1
rootpage = 3
     sql = create table tbl1(one varchar(10), two smallint)
sqlite>

    但你不能在sqlite_master表中執(zhí)行諸如DROP TABLE, UPDATE, INSERT 或者DELETE命令。sqlite_master表在你創(chuàng)建、刪除和索引數(shù)據(jù)庫時(shí)自動(dòng)更新這個(gè)表。你不能手工更改sqlite_master表。

    TEMPORARY表的結(jié)構(gòu)沒有存儲(chǔ)在"sqlite_master"表中,由于TEMPORARY表對(duì)應(yīng)用是不可見的,而不是應(yīng)用程序創(chuàng)建這個(gè)表。TEMPORARY表結(jié)構(gòu)被存儲(chǔ)在另外一個(gè)名叫"sqlite_temp_master"的特定的表中。"sqlite_temp_master"表是臨時(shí)表自身。

sqlite3的特殊命令

   大多數(shù)候,sqlite3讀入輸入行,并把它們傳遞到SQLite庫中去運(yùn)行。但是如果輸入行以一個(gè)點(diǎn)(“.”)開始,那么這行將被sqlite3程序自己截取并解釋。這些“點(diǎn)命令”通常被用來改變查詢輸出的格式,或者執(zhí)行鞭個(gè)預(yù)封包(預(yù)定義prepackaged)的查詢語句。

你可以在任何時(shí)候輸入“.help”,列出可用的點(diǎn)命令。例如

sqlite> .help
.bail ON|OFF           Stop after hitting an error.  Default OFF
.databases             List names and files of attached databases
.dump ?TABLE? ...      Dump the database in an SQL text format
.echo ON|OFF           Turn command echo on or off
.exit                  Exit this program
.explain ON|OFF        Turn output mode suitable for EXPLAIN on or off.
.header(s) ON|OFF      Turn display of headers on or off
.help                  Show this message
.import FILE TABLE     Import data from FILE into TABLE
.indices TABLE         Show names of all indices on TABLE
.load FILE ?ENTRY?     Load an extension library
.mode MODE ?TABLE?     Set output mode where MODE is one of:
                         csv      Comma-separated values
                         column   Left-aligned columns.  (See .width)
                         html     HTML <table> code
                         insert   SQL insert statements for TABLE
                         line     One value per line
                         list     Values delimited by .separator string
                         tabs     Tab-separated values
                         tcl      TCL list elements
.nullvalue STRING      Print STRING in place of NULL values
.output FILENAME       Send output to FILENAME
.output stdout         Send output to the screen
.prompt MAIN CONTINUE  Replace the standard prompts
.quit                  Exit this program
.read FILENAME         Execute SQL in FILENAME
.schema ?TABLE?        Show the CREATE statements
.separator STRING      Change separator used by output mode and .import
.show                  Show the current values for various settings
.tables ?PATTERN?      List names of tables matching a LIKE pattern
.timeout MS            Try opening locked tables for MS milliseconds
.width NUM NUM ...     Set column widths for "column" mode
sqlite>

改變輸出格式

    sqlite3程序可以以八種不同的格式顯示一個(gè)查詢的結(jié)果:"csv", "列", "html", "插入", "行", "制表"和"tcl"。你可以用".mode"點(diǎn)命令在這些輸出格式之間切換。

    默認(rèn)的輸出格式是“列表”。在列表模式下,每條查詢結(jié)果記錄被寫在一行中并且每列之間以一個(gè)字符串分割符隔開。默認(rèn)的分隔符是一個(gè)管道符號(hào)(“|”)。列表符號(hào)在當(dāng)你輸出查詢結(jié)果到另外一個(gè)符加處理的程序(如AWK)中去是尤為有用。

sqlite> .mode list
sqlite> select * from tbl1;
hello|10
goodbye|20
sqlite>

    你可以用“.separator”點(diǎn)命令來改變分界符。例如,為了把分割符改為一個(gè)逗號(hào)和一個(gè)空格,你可以這樣做:

sqlite> .separator ", "
sqlite> select * from tbl1;
hello, 10
goodbye, 20
sqlite>

    在“line"模式下,每一個(gè)位于條記錄中的列在它自己那行顯示。每行由列名、一個(gè)等號(hào)和列數(shù)據(jù)組成。下一條記錄以一個(gè)空行隔開。這是一個(gè)行模式輸出的例子:

sqlite> .mode line
sqlite> select * from tbl1;
one = hello
two = 10

one = goodbye
two = 20
sqlite>

    在列模式下,每條記錄在一個(gè)單獨(dú)的行中以數(shù)據(jù)列對(duì)齊的方式顯示。列如:

sqlite> .mode column
sqlite> select * from tbl1;
one         two      
----------  ----------
hello       10       
goodbye     20       
sqlite>

        在默認(rèn)的情況下,每列至少10個(gè)字符寬。太寬的數(shù)據(jù)將被截取。你可以用“.width”命令來調(diào)整列寬。如下所示:

sqlite> .width 12 6
sqlite> select * from tbl1;
one           two  
------------  ------
hello         10   
goodbye       20   
sqlite>

    上面例子中".width"命令設(shè)置第一列寬為12第二列寬為6。其它的列寬不變。你可以指定與你查詢結(jié)果需要的列數(shù)一樣多的“.width”參數(shù)。

    如果你指定一列寬為0,那么這個(gè)列寬將自動(dòng)以下面三個(gè)數(shù)字中的最大值做為列寬:10、表頭寬度和最寬的數(shù)據(jù)列的寬度。這可以讓列自動(dòng)調(diào)整寬度。每列的默認(rèn)設(shè)置為自動(dòng)調(diào)整的0值。

    出現(xiàn)在輸出開頭兩行的列標(biāo)示可以用".header"點(diǎn)命令關(guān)閉。在上面的例子中,列標(biāo)示是打開的。可以用下面的方法關(guān)閉列標(biāo)示:

sqlite> .header off
sqlite> select * from tbl1;
hello         10   
goodbye       20   
sqlite>

    另外一個(gè)有用的輸出模式是"insert"。在插入模式下,被子格式化為看起來像SQL INSERT語句的樣式。你可以用插入模式來產(chǎn)生文件(便于)以后用于不同數(shù)據(jù)庫的輸入。

    當(dāng)指定插入模式時(shí),你必須給定一個(gè)特定參數(shù)就是要插入的表名。例如:

sqlite> .mode insert new_table
sqlite> select * from tbl1;
INSERT INTO 'new_table' VALUES('hello',10);
INSERT INTO 'new_table' VALUES('goodbye',20);
sqlite>

    最新的輸出格式是“html”。在這種模式下,sqlite3把查詢的結(jié)果寫做XHTML表。開始的<TABLE>和結(jié)束的</TABLE>(標(biāo)記)沒有寫出,但有<TR>、<TH>和<TD>等分界符。html輸出對(duì)CGI來說是相當(dāng)有用地。

把結(jié)果寫到文件中

    默認(rèn)情況下,sqlte3把結(jié)送到標(biāo)準(zhǔn)輸出。你可以用“.output”命令改變它。只須把輸出文件名做為.output命令的輸出參數(shù)然后所有后續(xù)查詢結(jié)果將被寫到那個(gè)文件中。用“.output stdout”再一次改為標(biāo)準(zhǔn)輸出。例如:

sqlite> .mode list
sqlite> .separator |
sqlite> .output test_file_1.txt
sqlite> select * from tbl1;
sqlite> .exit
$ cat test_file_1.txt
hello|10
goodbye|20
$

查詢數(shù)據(jù)庫結(jié)構(gòu)

    sqlite3程序提供幾個(gè)有用的用于查詢數(shù)據(jù)庫結(jié)構(gòu)的快捷命令。這些不是不可以用別的方式來實(shí)現(xiàn)。這些命令僅僅是一個(gè)快捷方式而已。

    例如,為了查看數(shù)據(jù)庫的表列表,你可以敲入“.tables”。

sqlite> .tables
tbl1
tbl2
sqlite>

    “.tables”命令相似于設(shè)置列表模式然后執(zhí)行接下來的查詢:
SELECT name FROM sqlite_master
WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'
UNION ALL
SELECT name FROM sqlite_temp_master
WHERE type IN ('table','view')
ORDER BY 1
事實(shí)上,你可以查看sqlite3的源代碼(可以在源文件樹的src/shell.c中),你可找到上面的具體的查詢。
“.indices”命令作用類似的方式是列出特定表的所有的索引。“.indics”命令須一個(gè)參數(shù)即所要索引表的表名。最后,但不是至少,是“.schema”命令。不帶任何參數(shù),“.schema”命令顯示原始的用于創(chuàng)建當(dāng)前數(shù)據(jù)庫的CREATE TABLE和CREATE INDEX語句。如果你給".schema"命令一個(gè)表名,它顯示原始的創(chuàng)建該表和它所有索引的CREATE語句。我們可以:
sqlite> .schema
create table tbl1(one varchar(10), two smallint)
CREATE TABLE tbl2 (
  f1 varchar(30) primary key,
  f2 text,
  f3 real
)
sqlite> .schema tbl2
CREATE TABLE tbl2 (
  f1 varchar(30) primary key,
  f2 text,
  f3 real
)
sqlite>
    ".schema"命令可以用設(shè)置列表然后執(zhí)行以下查詢來實(shí)現(xiàn):

 
SELECT sql FROM
   (SELECT * FROM sqlite_master UNION ALL
    SELECT * FROM sqlite_temp_master)
WHERE type!='meta'
ORDER BY tbl_name, type DESC, name

 
或者,如果你給".schema"命令一個(gè)參數(shù),由于你只想得到一個(gè)表的結(jié)構(gòu),查詢可以是這樣:
SELECT sql FROM
   (SELECT * FROM sqlite_master UNION ALL
    SELECT * FROM sqlite_temp_master)
WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%'
ORDER BY substr(type,2,1), name
你可以擔(dān)供一個(gè)參數(shù)給.schema命令。如果這橛,查詢可以是這樣的:
SELECT sql FROM
   (SELECT * FROM sqlite_master UNION ALL
    SELECT * FROM sqlite_temp_master)
WHERE tbl_name LIKE '%s'
  AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%'
ORDER BY substr(type,2,1), name
在查詢中“%S“為你的參數(shù)所取代。這使你可以詢數(shù)據(jù)庫結(jié)構(gòu)的某個(gè)子集。
sqlite> .schema %abc%
    與這些一起,“.table”命令也接受一個(gè)模式作為他的參數(shù)。如果你給“.table”一個(gè)參數(shù),“%”將被前后擴(kuò)展并且一個(gè)LIKE子句被附加到查詢上。這讓你可以列出只與特定模式相匹配的的表。
    “.datebasae”命令顯示所有當(dāng)前連接打開的數(shù)據(jù)庫的一個(gè)列表。將允許一次到少兩個(gè)。第一個(gè)是“main”,最初打開的那個(gè)數(shù)據(jù)庫。第二個(gè)是"temp",用于臨時(shí)表的數(shù)據(jù)庫。對(duì)于用ATTACH語句附加的數(shù)據(jù)也許有附加數(shù)據(jù)庫列表。輸出的第一列與之相聯(lián)的數(shù)據(jù)庫名,第二列是外部文件名。
sqlite> .databases
    將整個(gè)數(shù)據(jù)庫轉(zhuǎn)換為ASCII文本文件
    ".dump"命令成一個(gè)單一的ASCII文本文件。這個(gè)文件可以被用作管道傳遞給sqlite3命令來轉(zhuǎn)換回?cái)?shù)據(jù)庫。
    一個(gè)最好的制作一個(gè)數(shù)據(jù)庫檔案拷貝的命令是:
$ echo '.dump' | sqlite3 ex1 | gzip -c >ex1.dump.gz
    它產(chǎn)生一個(gè)一個(gè)名為ex1.dump.gz的文件,它包含了你以后或在其它機(jī)器上重構(gòu)數(shù)據(jù)庫的所有的信息。要重構(gòu)數(shù)據(jù)庫,只須敲入:
$ zcat ex1.dump.gz | sqlite3 ex2
    這個(gè)文本格式是純粹的SQL語句所以你可以用.dump命令來導(dǎo)出一個(gè)SQLite數(shù)據(jù)庫到另一個(gè)常用的SQL數(shù)據(jù)庫引擎。比如:
$ createdb ex2
$ sqlite3 ex1 .dump | psql ex2
其它的點(diǎn)命令
".explain"命令可以被用來設(shè)置輸出格式為“column” 并設(shè)置列寬為EXPLAIN命令看起來比較合理的寬度。EXPLAIN命令是SQLite特有的SQL擴(kuò)展,它是對(duì)調(diào)試有用。如果任何常規(guī)的SQL被EXPLAIN執(zhí)行,那么SQL命令被分解并分析但并不執(zhí)行。取而代之的是,虛擬機(jī)指令序列將被用于執(zhí)行SQL命令并返回一個(gè)類似的查詢結(jié)果。如:

sqlite> .explain
sqlite> explain delete from tbl1 where two<20;
addr  opcode        p1     p2     p3         
----  ------------  -----  -----  -------------------------------------  
0     ListOpen      0      0                 
1     Open          0      1      tbl1       
2     Next          0      9                 
3     Field         0      1                 
4     Integer       20     0                 
5     Ge            0      2                 
6     Key           0      0                 
7     ListWrite     0      0                 
8     Goto          0      2                 
9     Noop          0      0                 
10    ListRewind    0      0                 
11    ListRead      0      14                
12    Delete        0      0                 
13    Goto          0      11                
14    ListClose     0      0
    “.timeout”命令設(shè)置sqlite3等待一個(gè)試圖存儲(chǔ)文件鎖定請除直到錯(cuò)誤返回的總時(shí)間。默認(rèn)的超時(shí)值是0因此如果任何需要的數(shù)據(jù)庫表或序列列被鎖定時(shí)它將立即返回一個(gè)錯(cuò)誤。
    最后,我們提到“.exit”命令它交導(dǎo)致sqlite3退出。
在命令和腳本中使用sqlite3
    一個(gè)在腳本命令中使用sqlite3的方式是用“echo”或“cat”來產(chǎn)生一個(gè)命令序列在一個(gè)文件中,然后當(dāng)從一個(gè)產(chǎn)生的命令行中重定向輸入時(shí)調(diào)用sqlite3。它有用并且適應(yīng)許多環(huán)境。但作為一附加的便利是,sqlite3允許一個(gè)單一的SQL語句在命令行中作為數(shù)據(jù)庫名后的第二個(gè)參數(shù)輸入。當(dāng)sqlite3程序帶著兩個(gè)參數(shù)啟動(dòng)時(shí),第二個(gè)參數(shù)被傳遞給SQLite庫處理,查詢以列表模式打印到標(biāo)準(zhǔn)輸出,然后程序退出。這個(gè)機(jī)制被設(shè)計(jì)用于讓sqlite3容易于用于連接諸如"AWK"的程序。例如:
$ sqlite3 ex1 'select * from tbl1' |
>  awk '{printf "<tr><td>%s<td>%s\n",$1,$2 }'
<tr><td>hello<td>10
<tr><td>goodbye<td>20
$
結(jié)束命令行命令
    SQLite命令通常以一個(gè)分號(hào)結(jié)束。在一個(gè)命令行中你也可以用“GO”單詞(大小寫敏感)或者一個(gè)“/”斜線在它所在好行結(jié)束一個(gè)命令。這常被SQL Server和Oracle使用。這些將不在sqlite3_exec()中有用,因?yàn)槊钚性趥鬟f它們到函數(shù)之前把這些翻譯為分號(hào)。
從源文件中編譯sqlite3
    sqlite3程序當(dāng)你編譯SQLite庫時(shí)自動(dòng)被建立。只須取得一個(gè)源文件樹的拷貝,運(yùn)行“configure"然后"make"即可。

SQLite3的Shell(1)

sqlite3.exe是SQLite訪問數(shù)據(jù)庫的一個(gè)工具,使用命令行的形式。
Shell的命令分為兩種,第一是Shell本身的命令,以點(diǎn)開頭。第二是用來管理當(dāng)前數(shù)據(jù)庫的SQL命令,以分號(hào)結(jié)束。
其中Shell本身的命令分以下幾種:控制數(shù)據(jù)的顯示模式;設(shè)置Shell讀取和顯示數(shù)據(jù)的方式;其他系統(tǒng)控制命令

常用的顯示模式控制命令:
.header ON|OFF:設(shè)置是否顯示數(shù)據(jù)表格的列名
.indices TABLE:顯示表格的所有列名
.mode MODE:設(shè)置數(shù)據(jù)表格的顯示模式。默認(rèn)是list,用.separator命令設(shè)置的字符串分隔字符(默認(rèn)是|)。我們比較習(xí)慣的是column格式
.nullvalue STRING:當(dāng)數(shù)據(jù)為空時(shí),用STRING來填充。默認(rèn)是空字符串,也就是什么也不顯示。
.tables PATTERN:使用PATTERN模式來顯示表格
.width NUM NUM...:設(shè)置當(dāng)以column模式顯示時(shí),數(shù)據(jù)顯示的寬度

.output FILENAME|stdout:設(shè)置數(shù)據(jù)輸出的形式:文件或屏幕的標(biāo)準(zhǔn)輸出。
.read FILENAME:從文件讀取SQL語句


其他系統(tǒng)控制命令:
.databases:顯示目前已經(jīng)匹配的數(shù)據(jù)庫名稱
.table:顯示當(dāng)前數(shù)據(jù)庫中的所有表
.help:顯示shell的幫助信息
.show:顯示shell目前的設(shè)置參數(shù)
.quit 和.exit:退出shell

參考:http://www.sqlite.org/sqlite.html

posted on 2010-05-28 15:26 大龍 閱讀(1026) 評(píng)論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲人被黑人高潮完整版| 欧美激情精品久久久久久蜜臀| 欧美在线影院在线视频| 亚洲神马久久| 亚洲欧美日韩在线综合| 亚洲欧美中文在线视频| 久久aⅴ国产欧美74aaa| 久久亚洲欧美| 亚洲第一精品夜夜躁人人躁| 亚洲另类视频| 一本色道久久综合亚洲精品婷婷| 亚洲一区二区三区高清不卡| 欧美在线观看一二区| 麻豆91精品91久久久的内涵| 欧美日韩日韩| 国精品一区二区三区| 亚洲免费高清| 午夜精品福利电影| 欧美激情偷拍| 欧美一区二区三区四区在线| 欧美~级网站不卡| 国产精品裸体一区二区三区| 在线免费精品视频| 中文在线资源观看网站视频免费不卡| 欧美在线国产| 亚洲激情视频在线| 欧美在线一二三| 欧美日韩国产综合网 | 欧美另类高清视频在线| 国产精品久久久久影院亚瑟| 亚洲福利视频三区| 欧美在线观看网址综合| 亚洲精品在线看| 另类欧美日韩国产在线| 国产精品va在线播放| 亚洲人成在线影院| 久久久久久久激情视频| 亚洲午夜成aⅴ人片| 欧美fxxxxxx另类| 国产亚洲永久域名| 亚洲视频免费在线观看| 亚洲国产高清一区| 玖玖综合伊人| 亚洲成色精品| 开元免费观看欧美电视剧网站| 亚洲影视九九影院在线观看| 欧美巨乳波霸| 99精品国产高清一区二区 | 亚洲午夜在线视频| 欧美精品一区三区| 国产精品丝袜久久久久久app| 久久久人成影片一区二区三区| 国产精品久久二区| 亚洲一级黄色片| 亚洲人午夜精品免费| 久久综合网hezyo| 一区二区三区中文在线观看| 久久久久成人网| 欧美一区成人| 国产一区自拍视频| 久久精品国产久精国产一老狼| 亚洲永久视频| 国产日本亚洲高清| 久久精品一区二区三区不卡牛牛| 亚洲欧美日韩天堂一区二区| 国产精品成人aaaaa网站| 宅男精品视频| 亚洲一区二区动漫| 国产欧美日韩综合| 久久视频在线看| 久久久综合网| 欧美大片免费观看| 在线免费精品视频| 欧美激情精品久久久久久黑人| 美女成人午夜| 一本色道久久综合亚洲精品小说| 亚洲精品视频免费在线观看| 欧美日韩一区二区免费视频| 亚洲欧美日韩一区二区三区在线 | 久久免费视频网| 99精品视频免费观看视频| 亚洲另类一区二区| 国产亚洲福利社区一区| 久久综合一区二区| 欧美激情精品久久久久久蜜臀 | 亚洲电影av| 99在线精品视频在线观看| 国产精品视频xxxx| 免费在线观看成人av| 欧美日韩国产不卡在线看| 欧美在线免费视频| 欧美a级一区二区| 先锋资源久久| 欧美wwwwww| 欧美一区二区三区视频免费| 男人的天堂亚洲在线| 亚洲免费影视第一页| 久久久亚洲国产天美传媒修理工 | 久热精品视频在线观看一区| 欧美精品午夜视频| 久久久99爱| 欧美另类综合| 麻豆亚洲精品| 国产精品入口福利| 亚洲激情影视| 国内精品伊人久久久久av影院| 亚洲国内欧美| 鲁大师成人一区二区三区| 亚洲专区在线视频| 久久免费国产精品| 午夜亚洲福利在线老司机| 欧美+亚洲+精品+三区| 欧美亚洲在线播放| 欧美视频日韩| 91久久久一线二线三线品牌| 国内精品久久久久影院薰衣草| 日韩午夜激情| 亚洲日本欧美日韩高观看| 欧美一区二区三区日韩视频| 亚洲一区免费网站| 欧美日韩国产在线看| 亚洲人成网站在线播| 亚洲激情女人| 麻豆精品传媒视频| 久久综合九色综合网站| 国产日韩欧美制服另类| 亚洲先锋成人| 午夜性色一区二区三区免费视频| 欧美巨乳在线观看| 亚洲国产欧洲综合997久久| 亚洲高清久久久| 久久视频免费观看| 美日韩精品免费| 亚洲电影免费| 欧美a级片网站| 亚洲精品美女91| 这里是久久伊人| 欧美三级午夜理伦三级中视频| 日韩视频中文字幕| 亚洲一区二区三区影院| 欧美午夜片在线免费观看| 亚洲性感美女99在线| 午夜精品一区二区三区在线视| 国产精品久久九九| 午夜综合激情| 免费不卡在线观看av| 最近中文字幕mv在线一区二区三区四区| 久久久久一区| 亚洲国产精品悠悠久久琪琪 | 国产精品美女在线| 亚洲欧美在线观看| 久久欧美中文字幕| 亚洲第一页自拍| 欧美精品在线观看91| 日韩一区二区免费看| 欧美亚洲综合久久| 亚洲第一视频网站| 欧美日韩亚洲免费| 午夜综合激情| 亚洲国产欧美日韩精品| 亚洲一区二区免费视频| 国产欧美一区二区精品性色| 久久久久久国产精品一区| 亚洲国产高清视频| 亚洲中字在线| 国产综合婷婷| 欧美日韩精品久久| 亚洲在线中文字幕| 欧美激情精品久久久久久大尺度 | 欧美日韩视频在线第一区| 亚洲直播在线一区| 欧美~级网站不卡| 国产精品午夜电影| 久久综合免费视频影院| 一区二区三区久久| 麻豆亚洲精品| 午夜精品成人在线| 亚洲精品日韩精品| 国产偷国产偷亚洲高清97cao| 美日韩精品免费观看视频| 在线视频日韩精品| 欧美多人爱爱视频网站| 小黄鸭精品密入口导航| 亚洲精品欧美一区二区三区| 国产伦精品一区二区三区视频孕妇 | 在线观看欧美视频| 国产精品国产三级国产普通话99| 久久久精品动漫| 亚洲午夜精品在线| 亚洲人成艺术| 欧美成人精品h版在线观看| 校园春色国产精品| 亚洲午夜av| 亚洲毛片视频| 影院欧美亚洲| 国产一级久久| 国产欧美va欧美va香蕉在| 欧美视频免费| 欧美日韩国产综合视频在线观看中文 | 欧美激情精品久久久久久|