一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

數(shù)據(jù)庫(kù)的基本原理回顧

 Sophia_Study 2021-10-20

DDL:數(shù)據(jù)定義

DML:數(shù)據(jù)操縱

DCL:數(shù)據(jù)控制語(yǔ)言集成在一起(權(quán)限控制,完整性控制)

關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言--SQL(Structured  Query  Language),ANSI解釋為Standard  Query  Language。

SQL是一種高度的非過(guò)程化語(yǔ)言(僅有What,不問(wèn)How)。

交互式和嵌入式兩種使用方式,統(tǒng)一的語(yǔ)法結(jié)構(gòu)

語(yǔ)言簡(jiǎn)潔,易學(xué)易用

完成核心功能只有9個(gè)動(dòng)詞:

數(shù)據(jù)查詢:   SELECT

數(shù)據(jù)定義:   CREATE,DROP,ALTER

數(shù)據(jù)操縱:   INSERT,DELETE,UPDATE

數(shù)據(jù)控制:   GRANT,REVOKE

SQL數(shù)據(jù)定義功能

定義和修改基本表(定義模式):

CREATE  TABLE

DROP  TABLE

ALTER  TABLE

定義視圖(定義外模式):

CREATE  VIEW

DROP  VIEW

定義索引(定義內(nèi)模式):

CREATE  INDEX

DROP  INDEX

說(shuō)明:視圖是從基本表導(dǎo)出的虛表,索引依賴于基本表,SQL沒(méi)有修改視圖和索引的操作,可通過(guò)先刪除,再創(chuàng)建達(dá)此目的。

基本表的定義和修改

1,定義:基本格式為

CREATE  TABLE  表名(列名1   類(lèi)型  [列級(jí)完整性約束]

                                     [,列名2   類(lèi)型  [列級(jí)完整性約束]…);

CREATE  TABLE  S( S#   CHAR(3) NOT NULL UNIQUE,

                                          SN  CHAR(15),

                                          SD  CHAR(15),)

其中,NOT NULL---不允許取空值,UNIQUE---取值唯一

SQL支持空值的概念。允許空值的列未輸入數(shù)據(jù)時(shí)系統(tǒng)自動(dòng)置為空值。

SQL支持的數(shù)據(jù)類(lèi)型隨系統(tǒng)不同而有所差異。

2,修改基本表

增加列:

                 ALTER  TABLE  表名  ADD  列名   類(lèi)型  [完整性約束]; (不支持NOT  NULL選擇)

例如:ALTER TABLE  S  ADD  SD  INT;

        修改列

                 ALTER  TABLE  表名  MODIFY  列名   類(lèi)型;

例如:ALTER TABLE  S  MODIFY  SD  CHAR(20);

        刪除完整性約束

              ALTER  TABLE  表名  DROP  完整性約束名;

注意:不能刪除列,新增列的值一律為空值,

可增加列寬,但一般不能減小列寬,修改可能會(huì)破壞已有數(shù)據(jù)。

在定義基本表時(shí)要考慮充分。

3,刪除

DROP  TABLE  表名;

注意:刪除基本表時(shí),表中的數(shù)據(jù)、建立在表上的索引和視圖將一并被刪除,因此應(yīng)格外小心。

4,索引的建立和刪除

由DBA或表的屬主進(jìn)行,存取數(shù)據(jù)時(shí)由系統(tǒng)自動(dòng)選取合適的索引作為存取路徑,用戶不必也不能選擇索引。

5,創(chuàng)建索引

CREATE  [ UNIQUE ]  [CLUSTER]  INDEX  索引名

                ON  表名(列名 ASC/DESC,列名 ASC/DESC

其中ASC為升序,DESC為降序。

如    CREATE  UNIQUE  INDEX  XSNO  ON  S(S#);

        CREATE  UNIQUE INDEX SCNO

                               ON   SC(SNO ASC,CNO DESC);

6,刪除索引

DROP  INDEX  索引名;


SQL數(shù)據(jù)操縱----查詢

查詢是數(shù)據(jù)庫(kù)的核心操作。SQL僅提供了唯一的語(yǔ)句SELECT,其使用方式靈活,功能非常豐富。

SELECT [ALL | DISTINCT]   * | 目標(biāo)列

FROM     基本表(或視圖)

[ WHERE   條件表達(dá)式 ]

[ GROUP  BY  列名1   [ HAVING  內(nèi)部函數(shù)表達(dá)式 ] ]

[ ORDER  BY  列名2  ASC/DESC ];

其中,上面的語(yǔ)句中,”“代表全部字段,“?”相當(dāng)于投影

From 后面的語(yǔ)句,表示被查詢的表。

Where 表示選擇/連接。

Having 表示:滿足條件的組才輸出。

ASC/DESC:表示對(duì)查詢結(jié)果的排序。

1,簡(jiǎn)單查詢

例如1:求選修了課程的學(xué)生學(xué)號(hào)

SELECT  DISTINCT  S#

FROM SC;

//從結(jié)果中去掉重復(fù)的元組

例2:SELECT的后面可以是表達(dá)式。

如求計(jì)算機(jī)系學(xué)生的學(xué)號(hào)和出生年份:

SELECT   S#,'Birthday:’,2000-SA

FROM  S

WHERE  SD='CS’;

例3:連續(xù)范圍查詢,使用BETWEEN (NOT  BETWEEN)

SELECT   S#,SA

FROM  S

WHERE  SA  BETWEEN  20 AND 22;

//即求20到22歲之間的學(xué)生學(xué)號(hào)和年齡

例4:離散范圍查詢,使用 IN   (NOT  IN)

SELECT   *     //星號(hào)表示無(wú)投影

FROM  S

WHERE  SD  IN  ('MA’,'CS’);  //相當(dāng)于若干'OR’的縮寫(xiě)

// SD='MA’ OR SD='CS’

例5:模糊查詢,使用 LIKE   (NOT  LIKE)

SELECT  *

FROM  S

WHERE  SN  LIKE  '%清%’; //查姓名中有'清’字的學(xué)生

DB2中,下劃線 '_’表示匹配任何單個(gè)字符

                百分號(hào)'%’表示匹配任何字符串

其它語(yǔ)言中, 常用 '?’

                   常用 '*’

例6:  涉及空值的查詢 ,  IS  NULL  (IS   NOT  NULL)

SELECT   S#, C#   FROM  SC

         WHERE  G  IS   NULL ;

2,連接查詢:涉及至少兩個(gè)表的查詢

        SQL中沒(méi)有專門(mén)的JOIN命令,而是靠SELECT語(yǔ)句中的

WHERE子句來(lái)達(dá)到連接運(yùn)算的目的,因此更加靈活、簡(jiǎn)便。

用來(lái)連接兩個(gè)表的條件稱為連接條件或連接謂詞。

注意:在多個(gè)表中出現(xiàn)的列名,必須用表名限定,僅在一個(gè)表中出現(xiàn)的屬性,可省略表名。

SELECT  S.S#,  SN, G     //此處,必須要用表名限定,因?yàn)榇肆忻诙鄠€(gè)表中出現(xiàn)了。

FROM  S,  SC

WHERE  S.S#=SC.S# 

AND SC.C#='C1’;

3,使用外連接查詢時(shí)

求每個(gè)學(xué)生選修的課程及成績(jī)。

SELECT  S.S#,   SN,  C#,  G

FROM  S,  SC

WHERE  S.S# = SC.S#() ;  //有些數(shù)據(jù)庫(kù)系統(tǒng)用+  , 有些將*放在=前后,*=、=*

4,嵌套查詢(子查詢)--SELECT-FROM-WHERE 查詢塊嵌入另一個(gè)查詢塊中

(1)嵌套查詢由內(nèi)向外處理

(2)SQL允許多層嵌套

(3)嵌套查詢中最常用的

          謂詞是IN

(4)嵌套查詢層次分明、

          容易理解

5UNION查詢

1)用UNION查詢時(shí),每個(gè)子查詢選擇的目標(biāo)列必須相同,

          但所基于的表可以不同

(2)UNION查詢實(shí)際上是將幾個(gè)子查詢的結(jié)果合并在一起

(3)UNION查詢時(shí)自動(dòng)去掉重復(fù)的行

(4)可以通過(guò)將各子查詢的限制條件合并而將UNION查詢

          變成一個(gè)單一查詢


庫(kù)函數(shù)(聚集函數(shù))

COUNT            統(tǒng)計(jì)一列中的(NOT NULL)值的個(gè)數(shù)

COUNT(*)  計(jì)算記錄個(gè)數(shù)

SUM                 對(duì)一列求和

AVG                 對(duì)一列求平均值

MAX                對(duì)一列求最大值

MIN                 對(duì)一列求最小值

將表按列的值分組,列的值相同的分在一組,產(chǎn)生一個(gè)結(jié)果行。GROUP  BY常

和庫(kù)函數(shù)一起使用,用于分組統(tǒng)計(jì)。

WHERE是選擇記錄的條件;

HAVING是選擇分組的條件且必須和GROUP  BY一起使用。

庫(kù)函數(shù)只能作用于HAVING和目標(biāo)列,而不能用于WHERE。


SQL數(shù)據(jù)操縱----數(shù)據(jù)更新

1,插入數(shù)據(jù)

插入單個(gè)元組

      INSERT

       INTO  表名  [(字段名 [,字段名 ] … ]

     VALUES (常量 [,常量] … ] ;

例1:插入一條選課記錄(S1,C5)。

      INSERT

      INTO SC(S#,C#)

      VALUES('S1’,'C1’);

說(shuō)明:

★  當(dāng)在INTO后面僅指定部分屬性列時(shí),插入記錄后其它列的值為空值;

★  如果INTO后面沒(méi)有指定屬性列,則必須按表列的定義次序?yàn)槊總€(gè)列指定一個(gè)值;

★  具有NOT NULL屬性的列,必須指定值。

2,修改數(shù)據(jù)

UPDATE 表名

        SET 列名 = 表達(dá)式[,列名 = 表達(dá)式]…

        [WHERE  條件];

說(shuō)明:

★  當(dāng)省略WHERE子句時(shí),修改表中所有記錄,否則僅修改滿足條件的記錄;

★  條件也可以使用子查詢。

3,刪除數(shù)據(jù):

DELETE

FROM  表名

[ WHERE  條件 ];

只能刪除表記錄,不刪除表結(jié)構(gòu)。無(wú)條件時(shí),刪除全部記錄,僅剩一個(gè)空表;有條件時(shí)刪除滿足條件的記錄。

為物理刪除命令。

刪除表結(jié)構(gòu)用DROP TABLE。

4,更新操作與數(shù)據(jù)庫(kù)的一致性

增、刪、改操作只能對(duì)一個(gè)表操作,可能會(huì)造成數(shù)據(jù)的不一致性。

例如:

        刪除“物理”課程的全部信息,需使用兩個(gè)操作實(shí)現(xiàn),刪除C表的課程記錄和刪除SC表的選課記錄。若在完成第一個(gè)操作后發(fā)生意外,致使第二個(gè)操作未能實(shí)現(xiàn),則造成數(shù)據(jù)庫(kù)的不一致。因?yàn)镾C中的物理課程號(hào)還存在,而被參照的C表中已沒(méi)有該課程號(hào)的課程了。所以應(yīng)保證這兩個(gè)操作要么全做,要么全不做,為此,在數(shù)據(jù)庫(kù)系統(tǒng)中引入了事物的概念。

        為保證數(shù)據(jù)的一致性,大型數(shù)據(jù)庫(kù)系統(tǒng)一般都提供若干策略:

刪除主表(被參照表)中的數(shù)據(jù)時(shí)

        (1)自動(dòng)刪除參照表中的相應(yīng)數(shù)據(jù);

        (2)檢查參照表中是否有數(shù)據(jù)參照,若有則拒絕刪除。

向參照表中插入數(shù)據(jù)時(shí)

        檢查所有被參照表中是否有被參照的信息,若沒(méi)有則拒絕插入。

修改主表中的被參照字段

        檢查參照表中是否有數(shù)據(jù)參照,若有則拒絕修改。

SQL數(shù)據(jù)控制功能

數(shù)據(jù)控制功能包括事物管理功能和數(shù)據(jù)保護(hù)功能。即 數(shù)據(jù)的安全性、完整性、事務(wù)控制、并發(fā)控制和恢復(fù)功能。

一、授權(quán)

1、機(jī)制:大的DBMS中有一個(gè)超級(jí)用戶DBA,其他用戶能否存在、對(duì)某類(lèi)數(shù)據(jù)具有何種操作權(quán)力是由DBA決定的,系統(tǒng)提供授權(quán)機(jī)制。執(zhí)行過(guò)程為:

(1)用數(shù)據(jù)控制語(yǔ)言把授權(quán)決定告知系統(tǒng);

(2)系統(tǒng)把授權(quán)的結(jié)果存入數(shù)據(jù)字典;

(3)當(dāng)用戶提出 操作請(qǐng)求時(shí),系統(tǒng)根據(jù)授權(quán)情況進(jìn)行檢查,

          以決定是否執(zhí)行。

2、權(quán)力的授予與收回

授予: 

GRANT  權(quán)力 [,權(quán)力 ] … [ ON 對(duì)象類(lèi)型  對(duì)象名 ]     //若干權(quán)力和操作對(duì)象

        TO  用戶名 [,用戶名] …                                   //獲得權(quán)力的對(duì)象

         [ WITH  GRANT  OPTION ];                         //有此項(xiàng),被授權(quán)用戶可再授權(quán)給其他用戶

收回:

REVOKE   權(quán)力 [,權(quán)力 ] … [ ON 對(duì)象類(lèi)型  對(duì)象名 ]

     FROM  用戶名 [,用戶名] …;

數(shù)據(jù)庫(kù)的屬主、表的屬主、數(shù)據(jù)庫(kù)對(duì)象的屬主在他創(chuàng)建的對(duì)象上具有一切可能的權(quán)力,其他用戶得不到主人的授權(quán)就不能在該對(duì)象上操作;

·  SQL的授權(quán)機(jī)制十分靈活,各種系統(tǒng)又作了適當(dāng)?shù)难a(bǔ)充,

     使用十分方便;

?  SQL的安全性控制除了上述授權(quán)機(jī)制外,還可設(shè)置口令進(jìn)一步保密。

嵌入式SQL

一、SQL的使用方式

     1、交互式:在終端上每輸入一條SQL語(yǔ)句,系統(tǒng)立即執(zhí)行,然后等待用戶輸入下一條語(yǔ)句。

     2、自編程式:在實(shí)際的DMBS中,都對(duì)SQL進(jìn)行了擴(kuò)充,增加了條件、循環(huán)等控制語(yǔ)句,并提供編程機(jī)制。如SYBASE中,用戶可以編寫(xiě)存儲(chǔ)過(guò)程并調(diào)用它。

     3、嵌入式(嵌入到某種主語(yǔ)言中使用):

                 宿主語(yǔ)言負(fù)責(zé):運(yùn)算、處理、流程控制等

                         SQL負(fù)責(zé):數(shù)據(jù)庫(kù)操作

二、嵌入式SQL使用時(shí)的問(wèn)題

            必須解決和主語(yǔ)言相互配合、連接等問(wèn)題

1、標(biāo)識(shí)SQL語(yǔ)句

      用前綴,如EXEC SQL或$等,標(biāo)記SQL語(yǔ)句的開(kāi)始;

      用END-EXEC或分號(hào)';’等標(biāo)記SQL語(yǔ)句的結(jié)束。

      SQL語(yǔ)句標(biāo)識(shí)是通知主語(yǔ)言的預(yù)編譯程序?qū)QL語(yǔ)句轉(zhuǎn)化為等價(jià)的主語(yǔ)言語(yǔ)句,然后再由編譯程序形成目標(biāo)代碼

2、SQL語(yǔ)句與主語(yǔ)言之間的通信

(1)通過(guò)SQL通信區(qū)(SQLCA)將SQL語(yǔ)句的執(zhí)行狀態(tài)傳遞給主語(yǔ)言。 SQLCA是一個(gè)數(shù)據(jù)結(jié)構(gòu),其中有一個(gè)重要變量SQLCODE,存放SQL語(yǔ)句是否執(zhí)行成功的信息,每執(zhí)行一個(gè)SQL語(yǔ)句,主語(yǔ)言都應(yīng)測(cè)試該變量。       

(2)SQL語(yǔ)句中可使用主語(yǔ)言的程序變量(叫主變量),但要加前綴標(biāo)志,一般用冒號(hào)':’。

(3)SQL語(yǔ)句和主語(yǔ)言的數(shù)據(jù)交換一般通過(guò)字段變量和主變量進(jìn)行,但兩者數(shù)據(jù)類(lèi)型要匹配.

(4)一個(gè)SQL語(yǔ)句可以產(chǎn)生一組記錄,而主語(yǔ)言一次只能處理一個(gè)記錄,為此需協(xié)調(diào)兩種方式:

               辦法:用游標(biāo)(Cursor),有的叫位置指針

(5)通常用CONNECT語(yǔ)句來(lái)連接(申請(qǐng)使用)數(shù)據(jù)庫(kù)


關(guān)系系統(tǒng)及其查詢優(yōu)化

一、關(guān)系系統(tǒng)的定義

1、關(guān)系模型:

      數(shù)據(jù)結(jié)構(gòu):    關(guān)系(二維表)

      數(shù)據(jù)操縱:    關(guān)系代數(shù)(或關(guān)系演算)

     完整性約束:實(shí)體完整性、參照完整性、用戶定義的完整性

2、關(guān)系系統(tǒng)的定義

      *   關(guān)系系統(tǒng)是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的簡(jiǎn)稱

      *   從概念上講,支持關(guān)系模型的系統(tǒng)稱為關(guān)系系統(tǒng)。     

      *   按最小要求定義關(guān)系系統(tǒng):

一個(gè)系統(tǒng)稱為關(guān)系系統(tǒng),當(dāng)且僅當(dāng)

(1)支持關(guān)系數(shù)據(jù)結(jié)構(gòu);

(2)支持選擇、投影和連接運(yùn)算。 對(duì)運(yùn)算不要求定義任何物理存取路徑。

關(guān)系上完備的系統(tǒng):

    支持關(guān)系結(jié)構(gòu),

    支持所有的關(guān)系代數(shù)操作

如:SYBASE、ORACLE、DB2

全關(guān)系系統(tǒng):支持關(guān)系模型的所有特征

如:SYBASE、ORACLE、DB2等系統(tǒng)已接近這個(gè)目標(biāo)

三、全關(guān)系系統(tǒng)的十二條基本準(zhǔn)則

基礎(chǔ)(準(zhǔn)則 0):關(guān)系型DBMS必須能完全通過(guò)它的關(guān)系能力來(lái)管理數(shù)據(jù)庫(kù)

//在關(guān)系一級(jí)上支持?jǐn)?shù)據(jù)的插入、刪除、修改,沒(méi)有任何操作必須通過(guò)非關(guān)系的能力才能實(shí)現(xiàn)。

準(zhǔn)則1:信息準(zhǔn)則。邏輯上可用一種方法(表中的值)來(lái)表示所有信息。

//用戶數(shù)據(jù)、元數(shù)據(jù)、索引、應(yīng)用元數(shù)據(jù)統(tǒng)一用表格來(lái)表示

好處:u  提高用戶生產(chǎn)率

                u  便于DBA維護(hù)數(shù)據(jù)庫(kù)

                    u  便于與其它軟件接口

關(guān)系系統(tǒng)的查詢優(yōu)化

關(guān)系數(shù)據(jù)語(yǔ)言只需用戶指出“干什么”,不必指出“怎么干”,為什么能做到這一點(diǎn)?

        一個(gè)重要原因就是系統(tǒng)能自動(dòng)進(jìn)行查詢優(yōu)化。

查詢優(yōu)化的總目標(biāo):

             選擇有效的策略,求得給定的關(guān)系表達(dá)式的值

事物管理--數(shù)據(jù)庫(kù)恢復(fù)技術(shù)

作為一個(gè)完善的DBMS,應(yīng)該提供統(tǒng)一的數(shù)據(jù)保護(hù)功

能來(lái)保證數(shù)據(jù)的安全可靠和正確有效!

數(shù)據(jù)保護(hù)也叫數(shù)據(jù)控制,主要包括:

數(shù)據(jù)庫(kù)恢復(fù),并發(fā)控制,數(shù)據(jù)的安全性,數(shù)據(jù)的完整性。

1,事務(wù)(transaction)

       一個(gè)數(shù)據(jù)庫(kù)操作序列(主要是更新操作),是數(shù)據(jù)庫(kù)應(yīng)用程序的基本邏輯單元。 這些操作要么都做,要么都不做,是一個(gè)不可分割的執(zhí)行單位。

事務(wù)標(biāo)記:

BEGIN   TRANSACTION (事務(wù)開(kāi)始)

        COMMIT (事務(wù)提交:事務(wù)完成了其包含的所有活動(dòng),正常結(jié)束)  或       

        ROLLBACK(事務(wù)回滾(中止):撤消已做的所有操作,回到事務(wù)開(kāi)始時(shí)的狀態(tài))

2,事務(wù)應(yīng)具有的性質(zhì)

1)原子性(Atomicity):事務(wù)執(zhí)行時(shí)的不可分割性,即事務(wù)所包含的活動(dòng)要么都做,要么都不做。

若事務(wù)因故障而中止,則要設(shè)法消除該事務(wù)所產(chǎn)生的影響,使數(shù)據(jù)庫(kù)恢復(fù)到該事務(wù)執(zhí)行前的狀態(tài)。

(2)一致性(Consistency):事務(wù)對(duì)數(shù)據(jù)庫(kù)的作用應(yīng)使數(shù)據(jù)庫(kù)從一個(gè)一致?tīng)顟B(tài)到另一個(gè)一致?tīng)顟B(tài)。

(3)隔離性(Isolation):

            多事務(wù)并發(fā)執(zhí)行,應(yīng)向各事務(wù)獨(dú)立執(zhí)行一樣,不能相互干擾。一個(gè)正在執(zhí)行的事務(wù)其中間結(jié)果不能為其它事務(wù)所訪問(wèn)。

4)持久性(Durability):   一旦事務(wù)提交,不論執(zhí)行何種操作或發(fā)生何種故障,都不應(yīng)對(duì)該事務(wù)的執(zhí)行結(jié)果有任何影響。(能恢復(fù))

(5)可串行性(Serializability):并發(fā)控制正確性的標(biāo)準(zhǔn)用戶程序在邏輯上是正確的,它在串行執(zhí)行時(shí)沒(méi)有問(wèn)題;

  當(dāng)多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),可以等價(jià)于一個(gè)串行執(zhí)行序列。

3、事務(wù)管理任務(wù)

        事務(wù)管理的任務(wù)就是要保證事務(wù)滿足上述性質(zhì)。使事務(wù)不具有上述性質(zhì)的因素可能是:

(1)事務(wù)在運(yùn)行過(guò)程中被強(qiáng)行終止;

(2)多個(gè)事務(wù)并行運(yùn)行時(shí),不同事務(wù)的操作交叉執(zhí)行

因此事物管理又分為兩個(gè)方面:

恢復(fù):保證事務(wù)在故障時(shí)滿足上述性質(zhì)的技術(shù)。

并發(fā)控制:保證事務(wù)在并發(fā)執(zhí)行時(shí)滿足上述性質(zhì)的技術(shù)。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    国产情侣激情在线对白| 少妇一区二区三区精品 | 99久久无色码中文字幕免费| 欧美黑人暴力猛交精品| 九九热精彩视频在线免费| 日本免费熟女一区二区三区| 国产精品欧美在线观看| 日本高清视频在线播放| 欧美大胆美女a级视频| 老熟女露脸一二三四区| 福利新区一区二区人口| 亚洲乱码av中文一区二区三区| 日韩aa一区二区三区| 91精品国产av一区二区| 国产专区亚洲专区久久| 国产精品欧美日韩中文字幕| 欧美激情区一区二区三区| 成人精品视频在线观看不卡| 国产又猛又大又长又粗| 欧美成人久久久免费播放| 日韩中文字幕人妻精品| 亚洲欧美日本国产有色| 蜜桃臀欧美日韩国产精品| 极品少妇一区二区三区精品视频 | 欧洲日韩精品一区二区三区| 日本精品理论在线观看| 国产免费一区二区三区av大片| 亚洲高清一区二区高清| 日韩国产亚洲欧美激情| 亚洲中文字幕在线乱码av| 久久女同精品一区二区| 中文字幕高清免费日韩视频| 亚洲精品中文字幕欧美| 黄片美女在线免费观看| 国产麻豆成人精品区在线观看| 丰满熟女少妇一区二区三区| 日韩女优精品一区二区三区| 亚洲国产婷婷六月丁香| 精品国产91亚洲一区二区三区| 婷婷开心五月亚洲综合| 久久香蕉综合网精品视频|