91在线视频_免费影院在线_欧美a级黄色大片_91精品视频在线看

巨靈鳥

電話   4000156919
當(dāng)前位置:首頁 > 數(shù)據(jù)庫管理_ERP百科

SQL基本語句和語法

來源:巨靈鳥軟件  作者:進(jìn)銷存軟件  發(fā)布:2014/5/31  瀏覽次數(shù):6610

ERP是和數(shù)據(jù)庫緊密相連的,對企業(yè)用戶來說要想維護(hù)好ERP就必須對數(shù)據(jù)庫知識有基本的了解,下面我們以最基本的SQL四條數(shù)據(jù)操作語句:Insert,Select,Update和Delete來進(jìn)行講解。打開管理器后新建查詢分析器,執(zhí)行下列語句。

在我們開始之前,先使用CREATE TABLE語句來創(chuàng)建一個表。

DDL語句對數(shù)據(jù)庫對象如表、列和視進(jìn)行定義。它們并不對表中的行進(jìn)行處理,這是因?yàn)镈DL語句并不處理數(shù)據(jù)庫中實(shí)際的數(shù)據(jù)。這些工作由另一類SQL語句—數(shù)據(jù)操作語言(DML)語句進(jìn)行處理。

  SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。由于這是大多數(shù)SQL用戶經(jīng)常用到的,我們有必要在此對它們進(jìn)行一一說明。在下圖中我們給出了一個名為EMPLOYEES的表。其中的每一行對應(yīng)一個特定的雇員記錄。請熟悉這張表,我們在后面的例子中將要用到它。

  INSERT語句

  用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句:

  INSERT INTO EMPLOYEES VALUES ('Smith','John','1980-06-10','Los Angles',16,45000);

  通過這樣的INSERT語句,系統(tǒng)將試著將這些值填入到相應(yīng)的列中。這些列按照我們創(chuàng)建表時定義的順序排列。在本例中,第一個值“Smith”將填到第一個列LAST_NAME中;第二個值“John”將填到第二列FIRST_NAME中……以此類推。

  我們說過系統(tǒng)會“試著”將值填入,除了執(zhí)行規(guī)則之外它還要進(jìn)行類型檢查。如果類型不符(如將一個字符串填入到類型為數(shù)字的列中),系統(tǒng)將拒絕這一次操作并返回一個錯誤信息。

  如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會填入。這是因?yàn)镾QL提供對事務(wù)的支持。一次事務(wù)將數(shù)據(jù)庫從一種一致性轉(zhuǎn)移到另一種一致性。如果事務(wù)的某一部分失敗,則整個事務(wù)都會失敗,系統(tǒng)將會被恢復(fù)(或稱之為回退)到此事務(wù)之前的狀態(tài)。

回到原來的INSERT的例子,請注意所有的整形十進(jìn)制數(shù)都不需要用單引號引起來,而字符串和日期類型的值都要用單引號來區(qū)別。為了增加可讀性而在數(shù)字間插入逗號將會引起錯誤。記住,在SQL中逗號是元素的分隔符。

  同樣要注意輸入文字值時要使用單引號。雙引號用來封裝限界標(biāo)識符。

  對于日期類型,我們必須使用SQL標(biāo)準(zhǔn)日期格式(yyyy-mm-dd),但是在系統(tǒng)中可以進(jìn)行定義,以接受其他的格式。當(dāng)然,2000年臨近,請你最好還是使用四位來表示年份。

  既然你已經(jīng)理解了INSERT語句是怎樣工作的了,讓我們轉(zhuǎn)到EMPLOYEES表中的其他部分:

  INSERT INTO EMPLOYEES VALUES ('Bunyan','Paul','1970-07-04','Boston',12,70000);

  INSERT INTO EMPLOYEES VALUES ('John','Adams','1992-01-21','Boston',20,100000);

  INSERT INTO EMPLOYEES VALUES ('Smith','Pocahontas','1976-04-06','Los Angles',12,100000);

  INSERT INTO EMPLOYEES VALUES ('Smith','Bessie','1940-05-02','Boston',5,200000);

  INSERT INTO EMPLOYEES VALUES ('Jones','Davy','1970-10-10','Boston',8,45000);

  INSERT INTO EMPLOYEES VALUES ('Jones','Indiana','1992-02-01','Chicago',NULL,NULL);

  在最后一項(xiàng)中,我們不知道Jones先生的工薪級別和年薪,所以我們輸入NULL(不要引號)。NULL是SQL中的一種特殊情況,我們以后將進(jìn)行詳細(xì)的討論,F(xiàn)在我們只需認(rèn)為NULL表示一種未知的值。

  有時,像我們剛才所討論的情況,我們可能希望對某一些而不是全部的列進(jìn)行賦值。除了對要省略的列輸入NULL外,還可以采用另外一種INSERT語句,如下:

  INSERT INTO EMPLOYEES(FIRST_NAME, LAST_NAME,HIRE_DATE, BRANCH_OFFICE)

  VALUE(

   'Indiana','Jones','1992-02-01','Indianapolis');

這樣,我們先在表名之后列出一系列列名。未列出的列中將自動填入缺省值,如果沒有設(shè)置缺省值則填入NULL。請注意我們改變了列的順序,而值的順序要對應(yīng)新的列的順序。如果該語句中省略了FIRST_NAME和LAST_NAME項(xiàng)(這兩項(xiàng)規(guī)定不能為空),SQL操作將失敗。

  讓我們來看一看上述INSERT語句的語法圖:

  INSERT INTO table

   [(column { ,column})]

  VALUES

   (columnvalue [{,columnvalue}]);

  和前一篇文章中一樣,我們用方括號來表示可選項(xiàng),大括號表示可以重復(fù)任意次數(shù)的項(xiàng)(不能在實(shí)際的SQL語句中使用這些特殊字符)。VALUE子句和可選的列名列表中必須使用圓括號。

  SELECT語句

  SELECT語句可以從一個或多個表中選取特定的行和列。因?yàn)椴樵兒蜋z索數(shù)據(jù)是數(shù)據(jù)庫管理中最重要的功能,所以SELECT語句在SQL中是工作量最大的部分。實(shí)際上,僅僅是訪問數(shù)據(jù)庫來分析數(shù)據(jù)并生成報表的人可以對其他SQL語句一竅不通。

  SELECT語句的結(jié)果通常是生成另外一個表。在執(zhí)行過程中系統(tǒng)根據(jù)用戶的標(biāo)準(zhǔn)從數(shù)據(jù)庫中選出匹配的行和列,并將結(jié)果放到臨時的表中。在直接SQL(direct SQL)中,它將結(jié)果顯示在終端的顯示屏上,或者將結(jié)果送到打印機(jī)或文件中。也可以結(jié)合其他SQL語句來將結(jié)果放到一個已知名稱的表中。

  SELECT語句功能強(qiáng)大。雖然表面上看來它只用來完成本文第一部分中提到的關(guān)系代數(shù)運(yùn)算“選擇”(或稱“限制”),但實(shí)際上它也可以完成其他兩種關(guān)系運(yùn)算—“投影”和“連接”,SELECT語句還可以完成聚合計算并對數(shù)據(jù)進(jìn)行排序。

  SELECT語句最簡單的語法如下:

  SELECT columns FROM tables;

  當(dāng)我們以這種形式執(zhí)行一條SELECT語句時,系統(tǒng)返回由所選擇的列以及用戶選擇的表中所有指定的行組成的一個結(jié)果表。這就是實(shí)現(xiàn)關(guān)系投影運(yùn)算的一個形式。

讓我們看一下使用圖1中EMPLOYEES表的一些例子(這個表是我們以后所有SELECT語句實(shí)例都要使用的。而我們在圖2和圖3中給出了查詢的實(shí)際結(jié)果。我們將在其他的例子中使用這些結(jié)果)。

  假設(shè)你想查看雇員工作部門的列表。那下面就是你所需要編寫的SQL查詢:

  SELECT BRANCH_OFFICE FROM EMPLOYEES;

  以上SELECT語句的執(zhí)行將產(chǎn)生如圖2中表2所示的結(jié)果。

  由于我們在SELECT語句中只指定了一個列,所以我們的結(jié)果表中也只有一個列。注意結(jié)果表中具有重復(fù)的行,這是因?yàn)橛卸鄠雇員在同一部門工作(記住SQL從所選的所有行中將值返回)。要消除結(jié)果中的重復(fù)行,只要在SELECT語句中加上DISTINCT子句:

  SELECT DISTINCT BRANCH_OFFICE FROM EMPLOYEES;

  這次查詢的結(jié)果如表3所示。

  現(xiàn)在已經(jīng)消除了重復(fù)的行,但結(jié)果并不是按照順序排列的。如果你希望以字母表順序?qū)⒔Y(jié)果列出又該怎么做呢?只要使用ORDER BY子句就可以按照升序或降序來排列結(jié)果:

  SELECT DISTINCT BRANCH_OFFICE FROM EMPLOYEES ORDER BY BRANCH_OFFICE ASC;

  這一查詢的結(jié)果如表4所示。請注意在ORDER BY之后是如何放置列名BRANCH _OFFICE的,這就是我們想要對其進(jìn)行排序的列。為什么即使是結(jié)果表中只有一個列時我們也必須指出列名呢?這是因?yàn)槲覀冞能夠按照表中其他列進(jìn)行排序,即使它們并不顯示出來。列名BRANCH_ OFFICE之后的關(guān)鍵字ASC表示按照升序排列。如果你希望以降序排列,那么可以用關(guān)鍵字DESC。

  同樣我們應(yīng)該指出ORDER BY子句只將臨時表中的結(jié)果進(jìn)行排序;并不影響原來的表。

  假設(shè)我們希望得到按部門排序并從工資最高的雇員到工資最低的雇員排列的列表。除了工資括號中的內(nèi)容,我們還希望看到按照聘用時間從最近聘用的雇員開始列出的列表。以下是你將要用到的語句:

SELECT BRANCH_OFFICE,FIRST_NAME,LAST_NAME,SALARY,HIRE_DATE FROM EMPLOYEES ORDER BY SALARY DESC,HIRE_DATE DESC;

  這里我們進(jìn)行了多列的選擇和排序。排序的優(yōu)先級由語句中的列名順序所決定。SQL將先對列出的第一個列進(jìn)行排序。如果在第一個列中出現(xiàn)了重復(fù)的行時,這些行將被按照第二列進(jìn)行排序,如果在第二列中又出現(xiàn)了重復(fù)的行時,這些行又將被按照第三列進(jìn)行排序……如此類推。這次查詢的結(jié)果如表5所示。

  將一個很長的表中的所有列名寫出來是一件相當(dāng)麻煩的事,所以SQL允許在選擇表中所有的列時使用*號:

  SELECT * FROM EMPLOYEES;

  這次查詢返回整個EMPLOYEES表,如表1所示。

   下面我們對開始時給出的SELECT語句的語法進(jìn)行一下更新(豎直線表示一個可選項(xiàng),允許在其中選擇一項(xiàng)。):

  SELECT [DISTINCT]

   (column [{, columns}])| *

  FROM table [ {, table}]

  [ORDER BY column [ASC] | DESC

   [ {, column [ASC] | DESC }]];

  定義選擇標(biāo)準(zhǔn)

  在我們目前所介紹的SELECT語句中,我們對結(jié)果表中的列作出了選擇但返回的是表中所有的行。讓我們看一下如何對SELECT語句進(jìn)行限制使得它只返回希望得到的行:

  SELECT columns FROM tables [WHERE predicates];

WHERE子句對條件進(jìn)行了設(shè)置,只有滿足條件的行才被包括到結(jié)果表中。這些條件由斷言(predicate)進(jìn)行指定(斷言指出了關(guān)于某件事情的一種可能的事實(shí))。如果該斷言對于某個給定的行成立,該行將被包括到結(jié)果表中,否則該行被忽略。在SQL語句中斷言通常通過比較來表示。例如,假如你需要查詢所有姓為Jones的職員,則可以使用以下SELECT語句:

  SELECT * FROM EMPLOYEES WHERE LAST_NAME = 'Jones';

  LAST_NAME = 'Jones'部分就是斷言。在執(zhí)行該語句時,SQL將每一行的LAST_NAME列與“Jones”進(jìn)行比較。如果某一職員的姓為“Jones”,即斷言成立,該職員的信息將被包括到結(jié)果表中(見表6)。

  使用最多的六種比較

  我們上例中的斷言包括一種基于“等值”的比較(LAST_NAME = 'Jones'),但是SQL斷言還可以包含其他幾種類型的比較。其中最常用的為:

  等于 =

  不等于 <>

  小于 <

  大于 >

  小于或等于 <=

  大于或等于 >=

  下面給出了不是基于等值比較的一個例子:

  SELECT * FROM EMPLOYEES WHERE SALARY > 50000;

  這一查詢將返回年薪高于$50,000.00的職員(參見表7)。

  邏輯連接符

  有時我們需要定義一條不止一種斷言的SELECT語句。舉例來說,如果你僅僅想查看Davy Jones的信息的話,表6中的結(jié)果將是不正確的。為了進(jìn)一步定義一個WHERE子句,用戶可以使用邏輯連接符AND,OR和NOT。為了只得到職員Davy Jones的記錄,用戶可以輸入如下語句:

  SELECT * FROM EMPLOYEES WHERE LAST_NAME = 'Jones' AND FIRST_NAME = 'Davy';

在本例中,我們通過邏輯連接符AND將兩個斷言連接起來。只有兩個斷言都滿足時整個表達(dá)式才會滿足。如果用戶需要定義一個SELECT語句來使得當(dāng)其中任何一項(xiàng)成立就滿足條件時,可以使用OR連接符:

  SELECT * FROM EMPLOYEES WHERE LAST_NAME = 'Jones' OR LAST_NAME = 'Smith';

  有時定義一個斷言的最好方法是通過相反的描述來說明。如果你想要查看除了Boston辦事處的職員以外的其他所有職員的信息時,你可以進(jìn)行如下的查詢:

  SELECT * FROM EMPLOYEES WHERE NOT(BRANCH_OFFICE = 'Boston');

  關(guān)鍵字NOT后面跟著用圓括號括起來的比較表達(dá)式。其結(jié)果是對結(jié)果取否定。如果某一職員所在部門的辦事處在Boston,括號內(nèi)的表達(dá)式返回true,但是NOT操作符將該值取反,所以該行將不被選中。

  斷言可以與其他的斷言嵌套使用。為了保證它們以正確的順序進(jìn)行求值,可以用括號將它們括起來:

  SELECT * FROM EMPLOYEES WHERE (LAST_NAME = 'Jones' AND FIRST_NAME = 'Indiana') OR (LAST_NAME = 'Smith' AND FIRST_NAME = 'Bessie');

  SQL沿用數(shù)學(xué)上標(biāo)準(zhǔn)的表達(dá)式求值的約定—圓括號內(nèi)的表達(dá)式將最先進(jìn)行求值,其他表達(dá)式將從左到右進(jìn)行求值。

  以上對邏輯連接符進(jìn)行了說明,在對下面的內(nèi)容進(jìn)行說明之前,我們再一次對SELECT語句的語法進(jìn)行更新:

  SELECT [DISTINCT]

   (column [{, column } ] )| *

  FROM table [ { , table} ]

  [ORDER BY column [ASC] | [DESC

  [{ , column [ASC] | [DESC } ] ]

  WHERE predicate [ { logical-connector predicate } ];

  NULL和三值邏輯

在SQL中NULL是一個復(fù)雜的話題,關(guān)于NULL的詳細(xì)描述更適合于在SQL的高級教程而不是現(xiàn)在的入門教程中進(jìn)行介紹。但由于NULL需要進(jìn)行特殊處理,并且你也很可能會遇到它,所以我們還是簡略地進(jìn)行一下說明。

  首先,在斷言中進(jìn)行NULL判斷時需要特殊的語法。例如,如果用戶需要顯示所有年薪未知的職員的全部信息,用戶可以使用如下SELECT語句:

  SELECT * FROM EMPLOYEES WHERE SALARY IS NULL;

  相反,如果用戶需要所有已知年薪數(shù)據(jù)的職員的信息,你可以使用以下語句:

  SELECT * FROM EMPLOYEES WHERE SALARY IS NOT NULL;

  請注意我們在列名之后使用了關(guān)鍵字IS NULL或IS NOT NULL,而不是標(biāo)準(zhǔn)的比較形式:COLUMN = NULL、COLUMN <> NULL或是邏輯操作符NOT(NULL)。

  這種形式相當(dāng)簡單。但當(dāng)你不明確地測試NULL(而它們確實(shí)存在)時,事情會變得很混亂。

  例如,回過頭來看我們圖1中的EM-PLOYEES表,可以看到Indiana Jones的工薪等級或年薪值都是未知的。這兩個列都包含NULL?梢韵胂筮\(yùn)行如下的查詢:

  SELECT * FROM EMPLOYEES WHERE GRADE <= SALARY;

  此時,Indiana Jones應(yīng)該出現(xiàn)在結(jié)果表中。因?yàn)镹ULL都是相等的,所以可以想象它們是能夠通過GRADE小于等于SALARY的檢查的。這其實(shí)是一個毫無疑義的查詢,但是并沒有關(guān)系。SQL允許進(jìn)行這樣的比較,只要兩個列都是數(shù)字類型的。然而,Indiana Jones并沒有出現(xiàn)在查詢的結(jié)果中,為什么?

  正如我們早先提到過的,NULL表示未知的值(而不是象某些人所想象的那樣表示一個為NULL的值)。對于SQL來說意味著這個值是未知的,而只要這個值為未知,就不能將其與其他值比較(即使其他值也是NULL)。所以SQL允許除了在true 和false之外還有第三種類型的真值,稱之為“非確定”(unknown)值。

  如果比較的兩邊都是NULL,整個斷言就被認(rèn)為是非確定的。將一個非確定斷言取反或使用AND或OR與其他斷言進(jìn)行合并之后,其結(jié)果仍是非確定的。由于結(jié)果表中只包括斷言值為“真”的行,所以NULL不可能滿足該檢查。從而需要使用特殊的操作符IS NULL和IS NOT NULL。

UPDATE語句

  UPDATE語句允許用戶在已知的表中對現(xiàn)有的行進(jìn)行修改。

  例如,我們剛剛發(fā)現(xiàn)Indiana Jones的等級為16,工資為$40,000.00,我們可以通過下面的SQL語句對數(shù)據(jù)庫進(jìn)行更新(并清除那些煩人的NULL)。

  UPDATE EMPLOYEES SET GRADE = 16, SALARY = 40000 WHERE FIRST_NAME = 'Indiana' AND LAST_NAME = 'Jones';

  上面的例子說明了一個單行更新,但是UPDATE語句可以對多行進(jìn)行操作。滿足WHERE條件的所有行都將被更新。如果,你想讓Boston辦事處中的所有職員搬到New York,你可以使用如下語句:

  UPDATE EMPLOYEES SET BRANCH_OFFICE = 'New York' WHERE BRANCH_OFFICE = 'Boston';

  如果忽略WHERE子句,表中所有行中的部門值都將被更新為'New York'。

  UPDATE語句的語法流圖如下面所示:

  UPDATE table

  SET column = value [{, column = value}]

  [ WHERE predicate [ { logical-connector predicate}]];

DELETE語句

  DELETE語句用來刪除已知表中的行。如同UPDATE語句中一樣,所有滿足WHERE子句中條件的行都將被刪除。由于SQL中沒有UNDO語句或是“你確認(rèn)刪除嗎?”之類的警告,在執(zhí)行這條語句時千萬要小心。如果決定取消Los Angeles辦事處并解雇辦事處的所有職員,這一卑鄙的工作可以由以下這條語句來實(shí)現(xiàn):

  DELETE FROM EMPLOYEES WHERE BRANCH_OFFICE = 'Los Angeles';

  如同UPDATE語句中一樣,省略WHERE子句將使得操作施加到表中所有的行。

  DELETE語句的語法流圖如下面所示:

  DELETE FROM table

  [WHERE predicate [ { logical-connector predicate} ] ];

  現(xiàn)在我們完成了數(shù)據(jù)操作語言(DML)的主要語句的介紹。我們并沒有對SQL能完成的所有功能進(jìn)行說明。SQL還提供了許多的功能,如求平均值、求和以及其他對表中數(shù)據(jù)的計算,此外SQL還能完成從多個表中進(jìn)行查詢(多表查詢,或稱之為連接)的工作。這種語言還允許你使用GRANT和REVOKE命令控制使用者的數(shù)據(jù)訪問權(quán)限。

 

 

 

 

 

來源:巨靈鳥 歡迎分享本文

上一個文章:什么是SQL注入

下一個文章:什么是MySQL

  • 點(diǎn)擊這里給我發(fā)消息
  • 點(diǎn)擊這里給我發(fā)消息
91在线视频_免费影院在线_欧美a级黄色大片_91精品视频在线看

    9000px;">

      成人18视频在线播放| 免费日本视频一区| 欧美不卡一区二区三区四区| 国产欧美精品在线观看| 久久69国产一区二区蜜臀| 欧美一区二区三区人| 久久精品噜噜噜成人88aⅴ| 884aa四虎影成人精品一区| 中文字幕在线不卡| 91亚洲精品久久久蜜桃网站 | 男人的j进女人的j一区| 欧美久久久久久久久久| 日本不卡高清视频| 国产日韩欧美高清在线| 91视视频在线观看入口直接观看www| 亚洲日本一区二区三区| 69久久夜色精品国产69蝌蚪网| 美女一区二区视频| 国产精品麻豆网站| 日韩欧美在线网站| 91黄色激情网站| 国产精品亚洲视频| 午夜久久电影网| 中文字幕一区二区不卡| 日韩欧美123| 91蜜桃免费观看视频| 日韩国产精品大片| 国产欧美日韩亚州综合| 欧美亚洲尤物久久| 成人动漫av在线| 久久66热re国产| 亚洲国产一区二区视频| 久久久午夜电影| 91精品国产综合久久福利软件| 色欧美乱欧美15图片| 盗摄精品av一区二区三区| 日韩国产欧美视频| 亚洲宅男天堂在线观看无病毒| 中文字幕乱码一区二区免费| 91精品福利在线一区二区三区| 99免费精品在线观看| 日韩欧美电影在线| 91精品国产综合久久福利| 欧美日韩精品综合在线| 欧美自拍偷拍一区| 日本久久电影网| 国产福利一区二区| 麻豆专区一区二区三区四区五区| 亚洲欧美色综合| 国产精品久久久久久一区二区三区 | 欧美国产亚洲另类动漫| 日韩一区国产二区欧美三区| 欧美日韩免费视频| 欧美日韩久久久| av不卡免费在线观看| 国产一区二区三区在线观看免费视频 | 中文字幕人成不卡一区| 久久久精品2019中文字幕之3| 精品日韩av一区二区| 日韩免费视频一区| 日韩一卡二卡三卡国产欧美| 69堂国产成人免费视频| 日韩精品在线一区| 国产日韩欧美精品综合| 亚洲免费看黄网站| 亚洲一区二区五区| 亚洲18色成人| 久久电影国产免费久久电影 | 99麻豆久久久国产精品免费| 91小视频免费观看| 欧美在线一二三四区| 欧美三级电影网站| 日韩情涩欧美日韩视频| 国产情人综合久久777777| 中文字幕永久在线不卡| 亚洲一区二区三区四区的| 婷婷综合另类小说色区| 狠狠久久亚洲欧美| av资源站一区| 欧美精品在欧美一区二区少妇| 在线电影国产精品| 国产精品污污网站在线观看| 亚洲精品中文在线| 午夜电影久久久| 三级不卡在线观看| 成人午夜电影小说| 欧美高清精品3d| 国产日韩成人精品| 亚洲国产精品久久久久婷婷884| 激情综合网av| 99视频有精品| xf在线a精品一区二区视频网站| 在线视频国内一区二区| 精品少妇一区二区三区日产乱码 | 亚洲精品乱码久久久久久久久 | 欧美aaaaa成人免费观看视频| 国产资源精品在线观看| 成人精品小蝌蚪| 国产精品第13页| 国产乱子轮精品视频| 欧美影院午夜播放| 国产日韩影视精品| 七七婷婷婷婷精品国产| 欧美性三三影院| 欧美高清在线一区| 久久99在线观看| 777午夜精品视频在线播放| 国产精品福利电影一区二区三区四区| 婷婷综合五月天| 91麻豆精品在线观看| 欧美xingq一区二区| 亚洲欧美日韩一区| www.视频一区| 久久综合狠狠综合久久综合88| 日韩主播视频在线| 91理论电影在线观看| 国产日韩欧美制服另类| 亚洲mv大片欧洲mv大片精品| 99这里都是精品| 日韩美女啊v在线免费观看| 国产精品综合久久| 日韩一卡二卡三卡四卡| 国产精品动漫网站| 国内成+人亚洲+欧美+综合在线| 欧美日韩视频一区二区| 亚洲日韩欧美一区二区在线| 91同城在线观看| 中文字幕亚洲一区二区av在线| 日欧美一区二区| 91精品在线观看入口| 亚洲图片有声小说| 一本大道久久a久久精二百| 亚洲另类中文字| 在线亚洲精品福利网址导航| 亚洲国产aⅴ天堂久久| 色婷婷综合在线| 亚洲成人免费观看| 911精品国产一区二区在线| 亚洲午夜精品17c| 欧美精品 日韩| 久久精品国产99| 91精品国产福利| 看国产成人h片视频| 国产亚洲一区二区三区四区| 国产成人久久精品77777最新版本| 亚洲国产精品激情在线观看| 色综合欧美在线视频区| 亚洲国产精品久久久久婷婷884| 日韩欧美一二三| 国产乱码精品一区二区三| 久久久噜噜噜久久中文字幕色伊伊| 成人永久看片免费视频天堂| 亚洲在线视频网站| 日韩一级黄色大片| 国产成人在线免费观看| 亚洲一区二区三区美女| 久久久美女艺术照精彩视频福利播放| www.欧美.com| 裸体健美xxxx欧美裸体表演| 中文字幕av在线一区二区三区| 色婷婷国产精品| 国产一区二区剧情av在线| 一区二区在线观看视频| 精品成人在线观看| 日本韩国欧美国产| 国产伦精品一区二区三区在线观看| 亚洲综合免费观看高清完整版在线 | 一区二区三区四区五区视频在线观看| 日韩一区二区在线观看| 94色蜜桃网一区二区三区| 免费国产亚洲视频| 亚洲人成网站影音先锋播放| 欧美大片顶级少妇| 欧美色图天堂网| 99这里都是精品| 国产激情视频一区二区在线观看 | 在线成人av网站| 高清av一区二区| 奇米影视一区二区三区| 一区二区三区国产| 国产免费成人在线视频| 日韩一区二区中文字幕| 色综合一区二区| 久久精品噜噜噜成人av农村| 亚洲综合精品久久| 中文无字幕一区二区三区| 欧美一区二区观看视频| 91精彩视频在线观看| 成人免费精品视频| 国产伦理精品不卡| 亚洲综合自拍偷拍| 国产精品乱码妇女bbbb| 久久久久久久久久久久久夜| 欧美色网一区二区| 91亚洲精品一区二区乱码| 国产成人自拍网| 国产在线精品一区二区不卡了| 天天综合色天天| 亚洲精品高清在线| 国产精品沙发午睡系列990531|