国产一区二区三区在线看片_日本韩国黄色_国产福利视频在线_成人97在线观看免费高清

巨靈鳥

電話   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ā)消息
国产一区二区三区在线看片_日本韩国黄色_国产福利视频在线_成人97在线观看免费高清

              欧美aⅴ一区二区三区视频| 国产精品一区在线播放| 亚洲第一网站免费视频| 欧美日本国产精品| 久久国产日韩欧美| 亚洲第一天堂av| 亚洲在线视频一区| 国产精品久久久久久av福利软件| 久久精品夜色噜噜亚洲a∨| 99视频有精品| 亚洲经典一区| 在线观看av一区| 国产欧美日韩在线播放| 欧美午夜影院| 欧美精选午夜久久久乱码6080| 亚洲激情二区| 亚洲成人在线免费| 欧美人在线观看| 亚洲精品一二区| 亚洲国产高清视频| 国产精品综合网站| 欧美精品一区二区三区在线看午夜 | 伊人精品视频| 黄色一区二区三区四区| 国产精品色在线| 国产精品成人一区| 亚洲淫性视频| 亚洲影院免费| 欧美一级大片在线观看| 在线精品国精品国产尤物884a| 国产伦精品一区二区三区免费| 国产精品国产馆在线真实露脸| 欧美日韩1区2区| 欧美极品在线播放| 欧美日韩精品免费观看| 欧美精品在线播放| 欧美日韩国产首页| 国产精品理论片| 国产欧美日韩视频在线观看| 国产综合色一区二区三区| 狠狠色狠狠色综合| 最近看过的日韩成人| 国产欧美日韩一区二区三区在线 | 亚洲在线免费| 欧美一级淫片播放口| 亚洲国产一区二区三区在线播| 亚洲成色777777在线观看影院| 亚洲激情专区| 午夜免费电影一区在线观看| 国产欧美午夜| 精品电影在线观看| 在线免费观看欧美| 99亚洲一区二区| 欧美日韩在线一二三| 久久aⅴ国产欧美74aaa| 久久精品国产清高在天天线| 美女福利精品视频| 国产精品国产成人国产三级| 久久久久久夜| 久久高清国产| 欧美大片在线观看| 久久九九免费| 欧美私人网站| 亚洲高清久久网| 午夜视频一区二区| 欧美精品一区二区三区在线播放 | 免费不卡在线视频| 亚洲国产你懂的| 亚洲午夜精品在线| 欧美va亚洲va国产综合| 国产精品免费一区豆花| 亚洲第一黄网| 欧美在线视频免费播放| 欧美日韩中文字幕日韩欧美| 在线欧美影院| 性做久久久久久久免费看| 久久国产精品色婷婷| 欧美激情一区二区久久久| 国产欧美在线视频| 中日韩美女免费视频网站在线观看| 久久九九国产| 国产亚洲精品久久久久婷婷瑜伽| 国产精品一区二区久久久| 久久久久久久一区二区| 国产精品成人一区二区| 亚洲免费观看在线视频| 美日韩精品免费| 黄色国产精品一区二区三区| 亚洲欧美日韩在线综合| 国产精品久久久久免费a∨大胸| 亚洲精品1234| 欧美二区视频| 亚洲第一精品影视| 久久午夜国产精品| 韩日精品在线| 久久亚洲综合色| 欧美精品激情在线| 亚洲国产日韩美| 免费毛片一区二区三区久久久| 红桃视频国产一区| 另类专区欧美制服同性| 精品999在线观看| 久久综合婷婷| 亚洲国产日韩欧美在线图片 | 久久成人18免费网站| 国产精品欧美久久| 欧美一级免费视频| 韩日欧美一区二区| 欧美www视频在线观看| 亚洲三级毛片| 欧美在线视频免费| 国产自产高清不卡| 男人的天堂成人在线| 日韩午夜视频在线观看| 欧美午夜在线一二页| 国产精品看片你懂得| 欧美一级片一区| 免费亚洲电影在线| 日韩午夜精品视频| 国产精品日韩高清| 六月婷婷久久| 中日韩男男gay无套| 国产麻豆一精品一av一免费| 久久人体大胆视频| 99亚洲一区二区| 欧美在线高清视频| 亚洲人成艺术| 美女诱惑一区| 亚洲一区二区不卡免费| 黑人巨大精品欧美一区二区 | 欧美精品 日韩| 欧美一区二区三区的| 亚洲日本成人网| 国产一区二区高清视频| 欧美日韩国产色综合一二三四 | 国产欧美视频一区二区| 欧美激情一区二区三级高清视频| 亚洲一区三区在线观看| 亚洲国产精品传媒在线观看| 欧美日韩一区二区在线观看视频| 久久久久国色av免费观看性色| 日韩亚洲欧美一区二区三区| 黄色一区三区| 国产精品亚洲综合天堂夜夜 | 欧美国产日韩a欧美在线观看| 亚洲欧美变态国产另类| 亚洲精品国偷自产在线99热| 国产综合av| 国产精品免费看| 欧美性猛交一区二区三区精品| 久久综合色天天久久综合图片| 午夜精品av| 中文亚洲欧美| 国产精品99久久久久久人| 亚洲国产精品久久精品怡红院| 国产欧美日韩亚洲| 国产老肥熟一区二区三区| 亚洲网站视频| 国产九九视频一区二区三区| 欧美日韩1区| 欧美国产在线电影| 欧美国产高清| 蜜臀久久久99精品久久久久久| 亚洲午夜在线观看视频在线| 亚洲精品日产精品乱码不卡| 欧美经典一区二区三区| 久久综合给合| 美女网站在线免费欧美精品| 久久精品主播| 久久久国产亚洲精品| 欧美一区二区三区在线播放| 小处雏高清一区二区三区| 亚洲女同同性videoxma| 欧美一区二区三区在线| 欧美在线视频观看免费网站| 久久久精彩视频| 你懂的网址国产 欧美| 欧美激情视频一区二区三区免费| 亚洲综合日韩在线| 欧美一二三区精品| 乱人伦精品视频在线观看| 你懂的一区二区| 欧美日韩精品一区二区| 久久精品人人做人人爽电影蜜月| 欧美在线999| 蜜臀a∨国产成人精品| 欧美日韩大陆在线| 国产毛片精品国产一区二区三区| 狠狠久久五月精品中文字幕| 亚洲第一区色| 亚洲无亚洲人成网站77777| 欧美中在线观看| 欧美激情第五页| 国产精品你懂的在线欣赏| 激情六月综合| 亚洲午夜激情免费视频| 久久综合久久88| 欧美日韩国产成人在线91| 国产婷婷一区二区| 99国产精品99久久久久久粉嫩|