成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)

快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)

熱門標(biāo)簽:咸陽防封電銷卡 廣東400企業(yè)電話申請流程 石家莊400電話辦理公司 申請400電話電話價(jià)格 許昌外呼增值業(yè)務(wù)線路 臨沂做地圖標(biāo)注 新鄉(xiāng)智能外呼系統(tǒng)好處 地圖標(biāo)注客戶付款 宜賓全自動(dòng)外呼系統(tǒng)廠家

這篇文章主要梳理了 SQL 的基礎(chǔ)用法,會(huì)涉及到以下方面內(nèi)容:

  • SQL大小寫的規(guī)范
  • 數(shù)據(jù)庫的類型以及適用場景
  • SELECT 的執(zhí)行過程
  • WHERE 使用規(guī)范
  • MySQL 中常見函數(shù)
  • 子查詢分類
  • 如何選擇合適的 EXISTS 和 IN 子查詢

了解 SQL

SQL 是我們用來最長和數(shù)據(jù)打交道的方式之一,如果按照功能劃分可分為如下 4 個(gè)部分:

  • DDL,數(shù)據(jù)定義語言。定義數(shù)據(jù)庫對象,數(shù)據(jù)表,數(shù)據(jù)列。也就是,對數(shù)據(jù)庫和表結(jié)構(gòu)進(jìn)行增刪改操作。
  • DML,數(shù)據(jù)操作語言。對數(shù)據(jù)表的增刪改。
  • DCL,數(shù)據(jù)控制語言。定義訪問權(quán)限和安全級(jí)別。
  • DQL,數(shù)據(jù)查詢語言。用來查詢數(shù)據(jù)。

平時(shí)在編寫 SQL 時(shí),可能發(fā)現(xiàn)許多 SQL 大小寫不統(tǒng)一,雖然不會(huì)影響 SQL 的執(zhí)行結(jié)果,但保持統(tǒng)一的書寫規(guī)范,是提高效率的關(guān)鍵,通常遵循如下的原則:

  • 表名,表別名,字段名,字段別名等用小寫。
  • SQL 保留字,函數(shù)名,綁定變量等用大寫。
  • 數(shù)據(jù)表,字段名采用下劃線命名。

目前排名較前的 DBMS:

  • 關(guān)系型數(shù)據(jù)庫:建立在關(guān)系模型上的數(shù)據(jù)庫,在建表時(shí),通常先設(shè)計(jì) ER 圖表示之間的關(guān)系。
  • 鍵值型數(shù)據(jù)庫:以 key-value 的形式存儲(chǔ)數(shù)據(jù),優(yōu)點(diǎn)是查找速度快,缺點(diǎn)是無法向關(guān)系型數(shù)據(jù)庫一樣使用如 WHERE 等的過濾條件。常見場景是作為內(nèi)容緩存。
  • 文檔型數(shù)據(jù)庫,在保存時(shí)以文檔作為處理信息的基本單位。
  • 搜索引擎:針對全文檢索而設(shè)計(jì)。核心原理是 “倒排索引”。
  • 列式數(shù)據(jù)庫:相對于如 MySQL 等行式存儲(chǔ)的數(shù)據(jù)庫,是以列將數(shù)據(jù)存在數(shù)據(jù)庫中,由于列具有相同的數(shù)據(jù)類型,所以可以更好的壓縮,從而減低系統(tǒng)的 I/O,適用于分布式文件系統(tǒng),但功能相對有限。
  • 圖形數(shù)據(jù)庫,利用圖的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)實(shí)體之間的關(guān)系。比如社交網(wǎng)絡(luò)中人與人的關(guān)系,數(shù)據(jù)模型為節(jié)點(diǎn)和邊來實(shí)現(xiàn)。

認(rèn)識(shí) SELECT

SELECT 一般是在學(xué)習(xí) SQL 接觸的第一個(gè)關(guān)鍵字,基礎(chǔ)的內(nèi)容就是不提了,這里整理常用的規(guī)范:

起別名

SELECT name AS n FROM student

查詢常數(shù), 增加一列固定的常數(shù)列:

SELECT '學(xué)生信息' as student_info, name FROM student

去重重復(fù)行

SELECT DISTINCT age FROM student

需要注意的是 DISTINCT 是對后面的所有列進(jìn)行去重, 下面這種情況就會(huì)對 age 和 name 的組合進(jìn)行去重。

SELECT DISTINCT age,name FROM student

排序數(shù)據(jù),ASC 代表升序,DESC 代表降序

如先按照 name 排序,name 相等的情況下按照 age 排序。

SELECT DISTINCT age FROM student ORDERY BY name,age DESC

限制返回的數(shù)量

SELECT DISTINCT age FROM student ORDERY BY name DESC LIMIT 5

SELECT 的執(zhí)行順序

了解了 SELECT 的執(zhí)行順序,才能更好地寫出更有效率的 SQL。

對于 SELECT 順序有兩個(gè)原則:

  • 關(guān)鍵字的順序不能顛倒:
    SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ...
  • SELECT 會(huì)按照如下順序執(zhí)行:
    FROM > WHERE > GROUP BY > HAVING > SELECT的字段 > DISTINCT > ORDER BY > LIMIT
SELECT DISTINCT student_id, name, count(*) as num #順序5
FROM student JOIN class ON student.class_id = class.class_id #順序1
WHERE age > 18 #順序2
GROUP BY student.class_id #順序3
HAVING num > 2 #順序4
ORDER BY num DESC #順序6
LIMIT 2 #順序7

在逐一分析下這個(gè)過程前,我們需要知道在上面的每一個(gè)步驟中都會(huì)產(chǎn)生一個(gè)虛擬表,然后將這個(gè)虛擬表作為下一個(gè)步驟中作為輸入,但這一過程對我們來說是不可見的:

  1. 從 FROM 語句開始,對 student 和 class 表進(jìn)行 CROSS JOIN 笛卡爾積運(yùn)算,得到虛擬表 vt 1-1;
  2. 通過 ON 篩選,在 vt1-1 的基礎(chǔ)上進(jìn)行過濾然后得到表 vt 1-2;
  3. 添加外部行。如使用左連接,右連接和全連接時(shí),就會(huì)涉及到外部行,會(huì)在 vt1-2 的基礎(chǔ)上增加外部行,得到 vt1-3。
  4. 如果超過兩張表,就會(huì)重復(fù)上面的步驟。
  5. 在拿到最終的 vt1 的表數(shù)據(jù)后,會(huì)執(zhí)行 WHERE 后面的過濾階段,得到表 vt2.
  6. 接著到 GROUP 階段,進(jìn)行分組得到 vt3.
  7. 接著到 HAVING 階段,對分組的數(shù)據(jù)進(jìn)行過濾,得到 vt4.
  8. 后面進(jìn)入 SELECT 階段,提取需要的字段,得到 vt5-1,接著通過 DISTINCT 階段,過濾到重復(fù)的行,得到 vt5-2.
  9. 然后對指定的字段進(jìn)行排序,進(jìn)入 ORDER BY 階段,得到 vt6.
  10. 最后在 LIMIT 階段,取出指定的行,對應(yīng) vt7,也就是最后的結(jié)果。

如果涉及到函數(shù)的計(jì)算比如 sum() 等,會(huì)在 GROUP BY分組后,HAVING 分組前,進(jìn)行聚集函數(shù)的計(jì)算。

涉及到表達(dá)式計(jì)算,如 age * 10 等,會(huì)在 HAVING 階段后,SELECT 階段前進(jìn)行計(jì)算。

  • 通過這里,就可以總結(jié)出提高 SQL 效率的第一個(gè)方法:

使用 SELECT 時(shí)指定明確的列來代替 SELECT * . 從而減少網(wǎng)絡(luò)的傳輸量。

使用 WHERE 進(jìn)行過濾

使用 WHERE 篩選時(shí),常有通過比較運(yùn)算符,邏輯運(yùn)算符,通配符三種方式。

對于比較運(yùn)算符,常用的運(yùn)算符如下表。

對于邏輯運(yùn)算符來說,可以將多個(gè)比較運(yùn)行符連接起來,進(jìn)行多條件的篩選,常用的運(yùn)算符如下:

需要注意的是,當(dāng) AND 和 OR 同時(shí)出現(xiàn)時(shí),AND 的優(yōu)先級(jí)更高會(huì)先被執(zhí)行。當(dāng)如果存在 () 的話,則括號(hào)的優(yōu)先級(jí)最高。

使用通配符過濾:

like:(%)代表零個(gè)或多個(gè)字符,(_)只代表一個(gè)字符

函數(shù)

和編程語言中的定義的函數(shù)一樣,SQL 同樣定義了一些函數(shù)方便使用,比如求和,平均值,長度等。

常見的函數(shù)主要分為如下四類,分類的原則是根據(jù)定義列時(shí)的數(shù)據(jù)類型:

  • 算術(shù)函數(shù):

  • 字符串函數(shù)

需要注意的是,在使用字符串比較日期時(shí),要使用 DATE 函數(shù)比較。

  • 日期函數(shù)

  • 轉(zhuǎn)換函數(shù):

CAST 函數(shù)在轉(zhuǎn)換數(shù)據(jù)類型時(shí),不會(huì)四舍五入,如果原數(shù)值是小數(shù),在轉(zhuǎn)換到整數(shù)時(shí)會(huì)報(bào)錯(cuò)。

在轉(zhuǎn)換時(shí)可以使用 DECIMAL(a,b) 函數(shù)來規(guī)定小數(shù)的精度,比如 DECIMAL(8,2) 表示精度為 8 位 - 小數(shù)加整數(shù)最多 8 位。小數(shù)后面最多為 2 位。

然后通過 SELECT CAST(123.123 AS DECIMAL(8,2)) 來轉(zhuǎn)換。

聚集函數(shù)

通常情況下,我們會(huì)使用聚集函數(shù)來匯總表的數(shù)據(jù),輸入為一組數(shù)據(jù),輸出為單個(gè)值。

常用的聚集函數(shù)有 5 個(gè):

其中 COUNT 函數(shù)需要額外注意,具體的內(nèi)容可以參考這篇。

如何進(jìn)行分組

在統(tǒng)計(jì)結(jié)果時(shí),往往需要對數(shù)據(jù)按照一定條件進(jìn)行分組,對應(yīng)就是 GROUP BY 語句。

比如統(tǒng)計(jì)每個(gè)班級(jí)的學(xué)生人數(shù):

SELECT class_id, COUNT(*) as student_count FROM student \

GROUP BY class_id; 

GROUP BY 后也可接多個(gè)列名,進(jìn)行分組,比如按照班級(jí)和性別分組:

SELECT class_id, sex, COUNT(*) as student_count FROM \

student GROUP BY class_id, sex; 

HAVING 過濾和 WHERE 的區(qū)別

和 WHERE 一樣,可以對分組后的數(shù)據(jù)進(jìn)行篩選。區(qū)別在于 WHERE 適用于數(shù)據(jù)行,HAVING 用于分組。

而且 WHERE 支持的操作,HAVING 也同樣支持。

比如可以篩選大于2人的班級(jí):

SELECT class_id, COUNT(*) as student_count FROM student \ 
GROUP BY class_id \ 
HAVING student_count > 20; 

子查詢

在一些更為復(fù)雜的情況中,往往會(huì)進(jìn)行嵌套的查詢,比如在獲取結(jié)果后,該結(jié)果作為輸入,去獲取另外一組結(jié)果。

在 SQL 中,查詢可以分為關(guān)聯(lián)子查詢和非關(guān)聯(lián)子查詢。

假設(shè)有如下的表結(jié)構(gòu):

-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(20) NOT NULL DEFAULT '',
 `age` int(3) NOT NULL,
 `sex` varchar(10) NOT NULL DEFAULT '',
 `class_id` int(11) NOT NULL COMMENT '班級(jí)ID',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of Student
-- ----------------------------
INSERT INTO `student` VALUES ('1', '胡一', 13, '男', '1');
INSERT INTO `student` VALUES ('3', '王阿', 11, '女', '1');
INSERT INTO `student` VALUES ('5', '王琦', 12, '男', '1');
INSERT INTO `student` VALUES ('7', '劉偉', 11, '女', '1');
INSERT INTO `student` VALUES ('7', '王意識(shí)', 11, '女', '2');

-- ----------------------------
DROP TABLE IF EXISTS `student_activities`;
CREATE TABLE `student_activities` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(20) NOT NULL DEFAULT '',
 `stu_id` int(11) NOT NULL COMMENT '班級(jí)ID',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
INSERT INTO `student_activities` VALUES ('1', '博物館', 1);
INSERT INTO `student_activities` VALUES ('3, '春游', 3);

非關(guān)聯(lián)子查詢

子查詢從數(shù)據(jù)表中查詢了數(shù)據(jù)結(jié)果,如果這個(gè)數(shù)據(jù)結(jié)果只執(zhí)行一次,然后這個(gè)數(shù)據(jù)結(jié)果作為主查詢的條件接著執(zhí)行。

這里想要查詢和胡一相同班級(jí)的同學(xué)名稱:

SELECT name FROM student WHERE class_id = \

(SELECT class_id FROM student WHERE name='胡一')

這里先查到胡一的班級(jí),只有一次查詢,再根據(jù)該班級(jí)查找學(xué)生就是非關(guān)聯(lián)子查詢。

關(guān)聯(lián)子查詢

如果子查詢需要執(zhí)行多次,即采用循環(huán)的方式,先從外部查詢開始,每次都傳入子查詢進(jìn)行查詢,然后再將結(jié)果反饋給外部

再舉個(gè)例子, 比如查詢比每個(gè)班級(jí)中比平均年齡大的學(xué)生姓名信息:

SELECT name FROM student as s1 WHERE age > 
	(SELECT AVG(age) FROM student as s2 where s1.class_id = s2.class_id) 

這里根據(jù)每名同學(xué)的班級(jí)信息,查找出對應(yīng)班級(jí)的平均年齡,然后做判斷。子查詢每次執(zhí)行時(shí),都需要根據(jù)外部的查詢?nèi)缓筮M(jìn)行計(jì)算。這樣的子查詢就是關(guān)聯(lián)子查詢。

EXISTS 子查詢

在關(guān)聯(lián)子查詢中,常會(huì)和 EXISTS 一起使用。用來判斷條件是否滿足,滿足的話為 True,不滿足為 False。

比如查詢參加過學(xué)?;顒?dòng)的學(xué)生名稱:

SELECT NAME FROM student as s where \

	EXISTS(SELECT stu_id FROM student_activities as sa where sa.stu_id=s.id)

同樣 NOT EXISTS 就是不存在的意思,滿足為 FALSE , 不滿足為 True.

比如查詢沒有參加過學(xué)?;顒?dòng)的學(xué)生名稱:

SELECT NAME FROM student as s where \

	NOT EXISTS(SELECT stu_id FROM student_activities as sa where sa.stu_id=s.id)

集合比較子查詢

可以在子查詢中,使用集合操作符,來比較結(jié)果。

還是上面查詢參加學(xué)校活動(dòng)的學(xué)生名字的子查詢, 同樣可以使用 IN:

SELECT name FROM student WHERE id IN (SELECT stu_id FROM student_activities)

EXISTS 和 IN 的區(qū)別

既然 EXISTS 和 IN 都能實(shí)現(xiàn)相同的功能,那么他們之間的區(qū)別是什么?

現(xiàn)在假設(shè)我們有表 A 和 表 B,其中 A,B 都有字段 cc,并對 cc 建立了 b+ 索引,其中 A 表 n 條記錄,B 表 m 條索引。

將其模式抽象為:

SELECT * FROM A WHERE cc IN (SELECT cc FROM B)

SELECT * FROM A WHERE EXIST (SELECT cc FROM B WHERE B.cc=A.cc)

對于 EXISTS 來說,會(huì)先對外表進(jìn)行逐條循環(huán),每次拿到外表的結(jié)果后,帶入子查詢的內(nèi)表中,去判斷該值是否存在。

偽代碼類似于下面:

for i in A
    for j in B
        if j.cc == i.cc:
         return result

首先先看外表 A,每一條都需要遍歷到,所以需要 n 次。內(nèi)表 B,在查詢時(shí)由于使用索引進(jìn)而查詢效率變成 log(m) B+ 的樹高,而不是 m。

進(jìn)而總效率:n * log(m)

所以對于 A 表的數(shù)量明顯小于 B 時(shí),推薦使用 EXISTS 查詢。

再看 IN ,會(huì)先對內(nèi)表 B 進(jìn)行查詢,然后用外表 A 進(jìn)行判斷,偽代碼如下:

for i in B
    for j in A
        if j.cc == i.cc:
         return result

由于需要首先將內(nèi)表所有數(shù)據(jù)查出,所以需要的次數(shù)就是 m. 再看外表 A ,由于使用了 cc 索引,可將 n 簡化至 log(n), 也就是 m * log(n).

所以對于 A 表的數(shù)據(jù)明顯大于 B 表時(shí),推薦使用 IN 查詢。

總結(jié)一下對于 IN 和 EXISTS時(shí),采用小表驅(qū)動(dòng)大表的原則。

這里再擴(kuò)展下 NOT EXISTS 和 NOT IN 的區(qū)別:

SELECT * FROM A WHERE cc NOT IN (SELECT cc FROM B) 

SELECT * FROM A WHERE NOT EXIST (SELECT cc FROM B WHERE B.cc=A.cc)

對于 NOT EXITS 來說,和 EXISTS 一樣,對于內(nèi)表可以使用 cc 的索引。適用于 A 表小于 B 表的情況。

但對于 NOT IN 來說,和 IN 就有區(qū)別了,由于 cc 設(shè)置了索引 cc IN (1, 2, 3) 可以轉(zhuǎn)換成 WHERE cc=1 OR cc=2 OR cc=3 , 是可以正常走 cc 索引的。但對于 NOT IN 也就是轉(zhuǎn)化為 cc!=1 OR cc!=2 OR cc!=3 這時(shí)由于是不等號(hào)查詢,是無法走索引的,進(jìn)而全表掃描。

也就是說,在設(shè)置索引的情況下 NOT EXISTS 比 NOT IN 的效率高。

但對于沒有索引的情況,IN 和 OR 是不同的:

一、操作不同
1、in:in是把父查詢表和子查詢表作hash連接。
2、or:or是對父查詢表作loop循環(huán),每次loop循環(huán)再對子查詢表進(jìn)行查詢。

二、適用場景不同
1、in:in適合用于子查詢表數(shù)據(jù)比父查詢表數(shù)據(jù)多的情況。
2、or:or適合用于子查詢表數(shù)據(jù)比父查詢表數(shù)據(jù)少的情況。

三、效率不同
1、in:在沒有索引的情況下,隨著in后面的數(shù)據(jù)量越多,in的執(zhí)行效率不會(huì)有太大的下降。
2、or:在沒有索引的情況下,隨著or后面的數(shù)據(jù)量越多,or的執(zhí)行效率會(huì)有明顯的下降。

總結(jié)

這篇文章中主要?dú)w納了一些 SQL 的基礎(chǔ)知識(shí):

在使用 SELECT 查詢時(shí),通過顯式指定列名,來減少 IO 的傳輸,從而提高效率。

并且需要注意 SELECT 的查詢過程會(huì)從 FROM 后開始到 LIMIT 結(jié)束,理解了整體的流程,可以讓我們更好的組織 SQL.

之后詳細(xì)介紹了 WHERE 進(jìn)行過濾的操作符和常用的函數(shù),這里要注意在比較時(shí)間時(shí)要使用 DATE 函數(shù),以及如何對數(shù)據(jù)進(jìn)行分組和過濾。

最后著重介紹了子查詢,IN 和 EXISTS 的適用場景。

以上就是快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)的詳細(xì)內(nèi)容,更多關(guān)于MySQL基礎(chǔ)知識(shí)的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 日常收集常用SQL查詢語句大全
  • 對MySql經(jīng)常使用語句的全面總結(jié)(必看篇)
  • MySQL系列之開篇 MySQL關(guān)系型數(shù)據(jù)庫基礎(chǔ)概念
  • mysql屬于關(guān)系型數(shù)據(jù)庫嗎
  • SQL查詢語法知識(shí)梳理總結(jié)

標(biāo)簽:鎮(zhèn)江 北京 貴州 鷹潭 合肥 日照 臺(tái)灣 阜新

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)》,本文關(guān)鍵詞  快速,學(xué)習(xí),MySQL,基礎(chǔ)知識(shí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)》相關(guān)的同類信息!
  • 本頁收集關(guān)于快速學(xué)習(xí)MySQL基礎(chǔ)知識(shí)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    97人妻精品一区二区三区软件| 亚洲资源在线网| 国产精东传媒成人av电影| 看国产成人h片视频| 亚洲精品91天天久久人人| 九一国产在线观看| 污版视频在线观看| 国产欧美在线观看| 色综合888| 日韩一区二区免费在线观看| 国产一级一级片| 精品国产免费久久久久久婷婷| 国产一区二区三区在线观看免费视频| 国产成人综合亚洲| 中文字幕在线一区| 青青草国产精品97视觉盛宴| 一区二区三区亚洲| 亚洲国产午夜伦理片大全在线观看网站| 国产天堂亚洲国产碰碰| 国产一级二级在线观看| 欧美伦理影院| 久久无码专区国产精品s| 亚洲免费视频网站| 国产一区二区网站| 欧美日韩视频精品二区| 国产午夜精品视频一区二区三区| 日韩精品91| 日韩欧美aaa| 国产又粗又长又大的视频| 在线观看日本一区| 亚洲欧美日韩专区| 久久久影视传媒| 精品少妇人妻一区二区黑料社区| 欧美亚洲人成在线| 免费一级suv好看的国产网站| 夜夜嗨av一区二区三区中文字幕| 日韩黄色成人| 免费国产黄色网址| 97色婷婷成人综合在线观看| 五月开心婷婷久久| 日韩经典在线观看| 亚洲国产精品嫩草影院| 久久xxxx精品视频| 国产视频二区| 亚洲国产成人二区| 成人av在线网址| 国产成人影院| 久久亚洲影视婷婷| 蜜桃视频在线播放| 在线播放日韩专区| 久久久久国色av免费观看性色| 在线观看视频中文字幕| 国产精品欧美亚洲| 精品国产乱码久久久久久影片| 国产精品嫩草99a| 精品国产美女福利到在线不卡| 久久尤物电影视频在线观看| xxxx在线免费观看| 亚洲综合丁香婷婷六月香| 成年人影院在线观看| 91freevideo| 国产二级c片l毛片| 精品国产aⅴ麻豆| 福利网站在线观看| 亚洲精品美女网站| 精品国产乱码久久久久久久久| 久久久久久久少妇| 欧美亚洲一级二级| 久久永久免费| 亚洲女人天堂a在线播放| 中文字幕一区二区三区在线不卡| 2021av天天| 91麻豆国产视频| 一级黄色片国产| 欧美丰满少妇xxxbbb| 国产女主播喷水视频在线观看| 国产精品久久精品日日| 中文字幕人妻丝袜乱一区三区| 亚洲91精品在线观看| 国产91大片| 一级片在线观看| 国产亚洲欧洲高清一区| 午夜精品成人在线视频| 精品人妻伦九区久久aaa片| 中文字幕av日韩| 国产精品美女久久久久av爽李琼| 日本韩国欧美在线观看| 殴美一级特黄aaaaaa| 97在线观看免费| 日韩av影片在线观看| 三级av在线播放| 精品日韩av一区二区| 欧美日韩女优| 国产农村一级特黄α**毛片| 亚洲同志网站入口| 天天操夜夜骑| 91超碰中文字幕久久精品| 影音先锋中文字幕一区| 97影院手机在线观看| 午夜精品久久久久| 日韩精品视频在线观看一区二区三区| 日韩xxxx视频| 欧美无砖专区一中文字| 欧美3p视频| 欧美做爰啪啪xxxⅹ性| 国产一区二区三区高清在线观看| 1024精品一区二区三区| 日韩欧美一区二区视频| 国产成人综合在线观看| 亚洲欧美国产精品桃花| 国产传媒在线播放| 成人免费一区二区三区在线观看| 精品福利电影| 波多野结衣加勒比| 韩国三级成人在线| 亚洲欧美成人在线| 欧美性在线观看| 精品久久久久一区二区国产| 国产日韩欧美在线观看视频| 亚洲一区二区美女| 亚洲日本va中文字幕久久| 欧美大奶一区二区| 老司机福利av| 成年女人免费毛片视频永久| 91精品国产91久久久久久三级| 成年网址网站在线观看| 91精品国产777在线观看| 国产又粗又猛又爽又黄| 国产成人无吗| 日日干天夜夜| 亚洲国产精品传媒在线观看| 无码国产伦一区二区三区视频| 欧美视频在线视频| 999人在线精品播放视频| 国产伦精品一区二区三区高清版禁| 白白色 亚洲乱淫| 91人人澡人人爽| 欧美日韩免费观看视频| 色爱精品视频一区| 91激情在线| 久久影视电视剧免费网站清宫辞电视| 男女视频免费网站| 国产.精品.日韩.另类.中文.在线.播放| 国产女主播在线播放| 欧美黄色一级网站| 欧美亚洲在线| 香港三级日本三级a视频| 亚洲婷婷免费| 一本色道精品久久一区二区三区| 精品一区二区三区免费看| 老司机免费视频久久| 四虎成人在线视频| 久久精品无码一区二区日韩av| av在线国产精品| 18video性欧美19sex高清| 亚洲视频播放| 4438全国亚洲精品观看视频| 国产主播精品在线| 亚洲欧洲第一视频| 99中文字幕在线观看| 欧美日韩中文一区| 亚洲综合网狠久久| 日韩精品在线免费看| 国产精品久久国产精麻豆96堂| 在线观看欧美成人| 亚洲一区二区在线免费看| 日本成人精品| 黄色毛片在线看| 日韩成人黄色av| 欧美一区二区三区免费看| 国产va免费精品观看精品视频| 一区二区三区免费在线视频| 欧美日韩一区二区在线观看| 国产欧美久久久精品免费| 一区二区三区.www| 91丨porny丨首页| 国产xxxxhd| 九九热精品在线观看| 国产精品久久久久9999爆乳| 精品一区二区日韩| 亚洲欧美综合视频| av激情在线| 国产xxxx振车| 国精产品一区一区三区免费视频| 野花社区视频在线观看| 欧美搞黄网站| 日本一区二区三区久久| 国产日韩影视精品| 99久久久无码国产精品不卡| 久久精品.com| 黑人巨大40cm重口| 亚洲精品日韩一| 寂寞少妇一区二区三区| 中文字幕在线观看av| 人妻夜夜爽天天爽| 欧美中文字幕在线播放| h视频在线观看免费完整版| 性欧美精品一区二区三区在线播放| 蜜桃在线一区二区三区精品| 91资源在线观看| 亚洲综合20p| 动漫精品一区二区三区| 黄瓜视频在线观看| 一区二区三区我不卡| 色男人天堂av| 国语自产精品视频在线看8查询8| 欧美激情一区二区三区久久久| 国产精品秘入口18禁麻豆免会员| 午夜精品久久久久久久99热| 国产伦精品一区二区三区高清| 无码人妻h动漫| 日韩精品无码一区二区三区| 国产精品美女高潮无套| 亚洲天堂视频网| 亚洲精品无码专区在线播放| 免费中文字幕日韩| 欧美另类中文字幕| 国产日本亚洲高清| 欧美午夜xxx| 国产精品久久久久蜜臀| 免费黄网在线看| 小嫩嫩12欧美| 伊人色**天天综合婷婷| 亚洲国产一区二区在线| 国产一级黄色录像片| 日韩电影大全在线观看| 午夜国产精品一区| 91av国产在线| 精品久久在线观看| 久久91超碰青草在哪里看| 午夜精品久久久久久久99水蜜桃| 欧美手机在线视频| 久久久久久久9999| 成人精品动漫一区二区三区| 国产网站免费观看| 精品少妇一区二区三区免费观看| 国产网站无遮挡| 91美女片黄在线观看91美女| 亚洲女人视频| 日韩精品无码一区二区三区久久久| 欧美成人sm免费视频| 蜜桃av乱码一区二区三区| 好吊日免费视频| 九九热这里只有在线精品视| 樱花草www在线观看| 久久精品视频网| 欧美成人精品欧美一级乱| 亚洲精品视频免费| 成人影音在线| 国产精区一区二区| 国产精品久久久99| 欧美精品七区| 亚洲男女一区二区三区| 亚洲国产精品成人一区二区在线| 久久久国产成人| 欧美日韩国产在线一区| 一区二区三区高清不卡| 欧美一区,二区| 青青草华人在线视频| 大陆极品少妇内射aaaaa| 国产精品免费视频一区二区三区| 国产精品自产拍在线观看| 黄色一级片中国| 91高清免费观看| 国产日韩欧美中文| 日韩美女视频免费在线观看| 麻豆精品久久久| 欧美日韩日日夜夜| 欧美综合欧美视频| 男人添女人下部高潮视频在观看| 日韩成人中文字幕在线观看| 成人国产精品| 五月婷婷综合久久| 蜜桃视频一区二区在线观看| 91精品国产福利| 久色婷婷小香蕉久久| 国产精品在线| 欧美性猛交xxx| 色系列之999| 午夜精品毛片| 九九热这里只有精品6| 国产精品自产拍在线观看2019| 91传媒视频在线观看| 色视频一区二区三区| 亚洲国产中文字幕| 欧美激情一区不卡| 91精品国产高清自在线| 熟妇高潮一区二区三区| 波霸ol色综合久久| 久久不射网站| 亚洲第一精品在线观看| 牛牛影视一区二区三区免费看| 国产真人无码作爱视频免费| 色戒汤唯在线| 国产精品第七影院| 秋霞午夜鲁丝一区二区老狼| 国产成人精品一区二区三区网站观看| 欧美一区三区| 国产精品夫妻自拍| www.国产自拍| 午夜片欧美伦| 日本va欧美va欧美va精品| 精品视频全国免费看| 精品日韩一区二区三区免费视频| 欧美午夜视频在线| 91亚洲国产成人精品性色| 无码人妻丰满熟妇精品区| 久久av在线播放| 欧美精品99久久久| 国产综合色在线视频区| 日韩最新中文字幕电影免费看| 中文字幕乱码在线观看| 日批视频免费在线观看| 成人看av片| 亚洲欧洲美洲综合色网| 欧美一级视频一区二区| 日韩欧美一区二区一幕| 怡红院精品视频| 7878成人国产在线观看| 国产精品综合久久久| 97国产真实伦对白精彩视频8| 自慰无码一区二区三区| 日韩欧美在线视频日韩欧美在线视频| 国产97免费视| 亚洲精品va在线观看| 午夜亚洲福利在线老司机| 超碰97成人| 亚洲综合网狠久久|