亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫(kù) > PostgreSQL > 正文

PostgreSQL教程(七):函數(shù)和操作符詳解(3)

2020-03-12 23:53:17
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PostgreSQL教程(七):函數(shù)和操作符詳解(3),本文講解了序列操作函數(shù)、條件表達(dá)式、數(shù)組函數(shù)和操作符、系統(tǒng)信息函數(shù)、系統(tǒng)管理函數(shù)等內(nèi)容,需要的朋友可以參考下
 

九、序列操作函數(shù):

    序列對(duì)象(也叫序列生成器)都是用CREATE SEQUENCE創(chuàng)建的特殊的單行表。一個(gè)序列對(duì)象通常用于為行或者表生成唯一的標(biāo)識(shí)符。下面序列函數(shù),為我們從序列對(duì)象中獲取最新的序列值提供了簡(jiǎn)單和并發(fā)讀取安全的方法。

 

函數(shù) 返回類型 描述
nextval(regclass) bigint 遞增序列對(duì)象到它的下一個(gè)數(shù)值并且返回該值。這個(gè)動(dòng)作是自動(dòng)完成的。即使多個(gè)會(huì)話并發(fā)運(yùn)行nextval,每個(gè)進(jìn)程也會(huì)安全地收到一個(gè)唯一的序列值。
currval(regclass) bigint 在當(dāng)前會(huì)話中返回最近一次nextval抓到的該序列的數(shù)值。(如果在本會(huì)話中從未在該序列上調(diào)用過 nextval,那么會(huì)報(bào)告一個(gè)錯(cuò)誤。)請(qǐng)注意因?yàn)榇撕瘮?shù)返回一個(gè)會(huì)話范圍的數(shù)值,而且也能給出一個(gè)可預(yù)計(jì)的結(jié)果,因此可以用于判斷其它會(huì)話是否執(zhí)行過nextval。
lastval() bigint 返回當(dāng)前會(huì)話里最近一次nextval返回的數(shù)值。這個(gè)函數(shù)等效于currval,只是它不用序列名為參數(shù),它抓取當(dāng)前會(huì)話里面最近一次nextval使用的序列。如果當(dāng)前會(huì)話還沒有調(diào)用過nextval,那么調(diào)用lastval將會(huì)報(bào)錯(cuò)。
setval(regclass, bigint) bigint 重置序列對(duì)象的計(jì)數(shù)器數(shù)值。設(shè)置序列的last_value字段為指定數(shù)值并且將其is_called字段設(shè)置為true,表示下一次nextval將在返回?cái)?shù)值之前遞增該序列。
setval(regclass, bigint, boolean) bigint 重置序列對(duì)象的計(jì)數(shù)器數(shù)值。功能等同于上面的setval函數(shù),只是is_called可以設(shè)置為true或false。如果將其設(shè)置為false,那么下一次nextval將返回該數(shù)值,隨后的nextval才開始遞增該序列。

 

  對(duì)于regclass參數(shù),僅需用單引號(hào)括住序列名即可,因此它看上去就像文本常量。為了達(dá)到和處理普通SQL對(duì)象一樣的兼容性,這個(gè)字串將被轉(zhuǎn)換成小寫,除非該序列名是用雙引號(hào)括起,如:
 

復(fù)制代碼代碼如下:

    nextval('foo')     --操作序列號(hào)foo
    nextval('FOO')    --操作序列號(hào)foo
    nextval('"Foo"')   --操作序列號(hào)Foo
    SELECT setval('foo', 42);    --下次nextval將返回43
    SELECT setval('foo', 42, true);    
    SELECT setval('foo', 42, false);   --下次nextval將返回42

    
十、條件表達(dá)式:

 

    1. CASE:
    SQL CASE表達(dá)式是一種通用的條件表達(dá)式,類似于其它語言中的if/else語句。
 

復(fù)制代碼代碼如下:

    CASE WHEN condition THEN result
        [WHEN ...]
        [ELSE result]
    END
 

    condition是一個(gè)返回boolean的表達(dá)式。如果為真,那么CASE表達(dá)式的結(jié)果就是符合條件的result。如果結(jié)果為假,那么以相同方式搜尋隨后的WHEN子句。如果沒有WHEN condition為真,那么case表達(dá)式的結(jié)果就是在ELSE子句里的值。如果省略了ELSE子句而且沒有匹配的條件,結(jié)果為NULL,如:
 
復(fù)制代碼代碼如下:

    MyTest=> SELECT * FROM testtable;
     i
    ---
     1
     2
     3
    (3 rows)
    MyTest=> SELECT i, CASE WHEN i=1 THEN 'one'
    MyTest->                         WHEN i=2 THEN 'two'
    MyTest->                         ELSE 'other'
    MyTest->                END
    MyTest-> FROM testtable;
     i | case
    ---+-------
     1 | one
     2 | two
     3 | other
    (3 rows)
 

    注:CASE表達(dá)式并不計(jì)算任何對(duì)于判斷結(jié)果并不需要的子表達(dá)式。
    
    2. COALESCE:

 

    COALESCE返回它的第一個(gè)非NULL的參數(shù)的值。它常用于在為顯示目的檢索數(shù)據(jù)時(shí)用缺省值替換NULL值。
 

復(fù)制代碼代碼如下:

    COALESCE(value[, ...])
 

    和CASE表達(dá)式一樣,COALESCE將不會(huì)計(jì)算不需要用來判斷結(jié)果的參數(shù)。也就是說,在第一個(gè)非空參數(shù)右邊的參數(shù)不會(huì)被計(jì)算。
    
    3. NULLIF:
    當(dāng)且僅當(dāng)value1和value2相等時(shí),NULLIF才返回NULL。否則它返回value1。
 
復(fù)制代碼代碼如下:

    NULLIF(value1, value2)
    MyTest=> SELECT NULLIF('abc','abc');
     nullif
    --------
    
    (1 row)    
    MyTest=> SELECT NULLIF('abcd','abc');
     nullif
    --------
     abcd
    (1 row)

    4. GREATEST和LEAST:
    GREATEST和LEAST函數(shù)從一個(gè)任意的數(shù)字表達(dá)式列表里選取最大或者最小的數(shù)值。列表中的NULL數(shù)值將被忽略。只有所有表達(dá)式的結(jié)果都是NULL的時(shí)候,結(jié)果才會(huì)是NULL。
 
復(fù)制代碼代碼如下:

    GREATEST(value [, ...])
    LEAST(value [, ...])
    MyTest=> SELECT GREATEST(1,3,5);
     greatest
    ----------
            5
    (1 row)  
    MyTest=> SELECT LEAST(1,3,5,NULL);
     least
    -------
         1
    (1 row)

 

十一、數(shù)組函數(shù)和操作符:

    1. PostgreSQL中提供的用于數(shù)組的操作符列表:

操作符 描述 例子 結(jié)果
= 等于 ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] t
<> 不等于 ARRAY[1,2,3] <> ARRAY[1,2,4] t
< 小于 ARRAY[1,2,3] < ARRAY[1,2,4] t
> 大于 ARRAY[1,4,3] > ARRAY[1,2,4] t
<= 小于或等于 ARRAY[1,2,3] <= ARRAY[1,2,3] t
>= 大于或等于 ARRAY[1,4,3] >= ARRAY[1,4,3] t
|| 數(shù)組與數(shù)組連接 ARRAY[1,2,3] || ARRAY[4,5,6] {1,2,3,4,5,6}
|| 數(shù)組與數(shù)組連接 ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]] {{1,2,3},{4,5,6},{7,8,9}}
|| 元素與數(shù)組連接 3 || ARRAY[4,5,6] {3,4,5,6}
|| 元素與數(shù)組連接 ARRAY[4,5,6] || 7 {4,5,6,7}

 

    2. PostgreSQL中提供的用于數(shù)組的函數(shù)列表:

 

函數(shù) 返回類型 描述 例子 結(jié)果
array_cat(anyarray, anyarray) anyarray 連接兩個(gè)數(shù)組 array_cat(ARRAY[1,2,3], ARRAY[4,5]) {1,2,3,4,5}
array_append(anyarray, anyelement) anyarray 向一個(gè)數(shù)組末尾附加一個(gè)元素 array_append(ARRAY[1,2], 3) {1,2,3}
array_prepend(anyelement, anyarray) anyarray 向一個(gè)數(shù)組開頭附加一個(gè)元素 array_prepend(1, ARRAY[2,3]) {1,2,3}
array_dims(anyarray) text 返回一個(gè)數(shù)組維數(shù)的文本表示 array_dims(ARRAY[[1,2,3], [4,5,6]]) [1:2][1:3]
array_lower(anyarray, int) int 返回指定的數(shù)組維數(shù)的下界 array_lower(array_prepend(0, ARRAY[1,2,3]), 1) 0
array_upper(anyarray, int) int 返回指定數(shù)組維數(shù)的上界 array_upper(ARRAY[1,2,3,4], 1) 4
array_to_string(anyarray, text) text 使用提供的分隔符連接數(shù)組元素 array_to_string(ARRAY[1, 2, 3], '~^~') 1~^~2~^~3
string_to_array(text, text) text[] 使用指定的分隔符把字串拆分成數(shù)組元素 string_to_array('xx~^~yy~^~zz', '~^~') {xx,yy,zz}

 

十二、系統(tǒng)信息函數(shù):

    1. PostgreSQL中提供的和數(shù)據(jù)庫(kù)相關(guān)的函數(shù)列表:

 

名字 返回類型 描述
current_database() name 當(dāng)前數(shù)據(jù)庫(kù)的名字
current_schema() name 當(dāng)前模式的名字
current_schemas(boolean) name[] 在搜索路徑中的模式名字
current_user name 目前執(zhí)行環(huán)境下的用戶名
inet_client_addr() inet 連接的遠(yuǎn)端地址
inet_client_port() int 連接的遠(yuǎn)端端口
inet_server_addr() inet 連接的本地地址
inet_server_port() int 連接的本地端口
session_user name 會(huì)話用戶名
pg_postmaster_start_time() timestamp postmaster啟動(dòng)的時(shí)間
user name current_user
version() text PostgreSQL版本信息

    2. 允許用戶在程序里查詢對(duì)象訪問權(quán)限的函數(shù):

 

 

名字 描述 可用權(quán)限
has_table_privilege(user,table,privilege) 用戶是否有訪問表的權(quán)限 SELECT/INSERT/UPDATE/DELETE/RULE/REFERENCES/TRIGGER
has_table_privilege(table,privilege) 當(dāng)前用戶是否有訪問表的權(quán)限 SELECT/INSERT/UPDATE/DELETE/RULE/REFERENCES/TRIGGER
has_database_privilege(user,database,privilege) 用戶是否有訪問數(shù)據(jù)庫(kù)的權(quán)限 CREATE/TEMPORARY
has_database_privilege(database,privilege) 當(dāng)前用戶是否有訪問數(shù)據(jù)庫(kù)的權(quán)限 CREATE/TEMPORARY
has_function_privilege(user,function,privilege) 用戶是否有訪問函數(shù)的權(quán)限 EXECUTE
has_function_privilege(function,privilege) 當(dāng)前用戶是否有訪問函數(shù)的權(quán)限 EXECUTE
has_language_privilege(user,language,privilege) 用戶是否有訪問語言的權(quán)限 USAGE
has_language_privilege(language,privilege) 當(dāng)前用戶是否有訪問語言的權(quán)限 USAGE
has_schema_privilege(user,schema,privilege) 用戶是否有訪問模式的權(quán)限 CREAT/USAGE
has_schema_privilege(schema,privilege) 當(dāng)前用戶是否有訪問模式的權(quán)限 CREAT/USAGE
has_tablespace_privilege(user,tablespace,privilege) 用戶是否有訪問表空間的權(quán)限 CREATE
has_tablespace_privilege(tablespace,privilege) 當(dāng)前用戶是否有訪問表空間的權(quán)限 CREATE

 

注:以上函數(shù)均返回boolean類型。要評(píng)估一個(gè)用戶是否在權(quán)限上持有賦權(quán)選項(xiàng),給權(quán)限鍵字附加 WITH GRANT OPTION;比如 'UPDATE WITH GRANT OPTION'。 
    3. 模式可視性查詢函數(shù):
    那些判斷一個(gè)對(duì)象是否在當(dāng)前模式搜索路徑中可見的函數(shù)。 如果一個(gè)表所在的模式在搜索路徑中,并且沒有同名的表出現(xiàn)在搜索路徑的更早的地方,那么就說這個(gè)表視可見的。 它等效于表可以不帶明確模式修飾進(jìn)行引用。

 

名字 描述 應(yīng)用類型
pg_table_is_visible(table_oid) 該表/視圖是否在搜索路徑中可見 regclass
pg_type_is_visible(type_oid) 該類/視圖型是否在搜索路徑中可見 regtype
pg_function_is_visible(function_oid) 該函數(shù)是否在搜索路徑中可見 regprocedure
pg_operator_is_visible(operator_oid) 該操作符是否在搜索路徑中可見 regoperator
pg_opclass_is_visible(opclass_oid) 該操作符表是否在搜索路徑中可見 regclass
pg_conversion_is_visible(conversion_oid) 轉(zhuǎn)換是否在搜索路徑中可見 regoperator

 


 注:以上函數(shù)均返回boolean類型,所有這些函數(shù)都需要對(duì)象 OID 標(biāo)識(shí)作為檢查的對(duì)象。
 

復(fù)制代碼代碼如下:

    postgres=# SELECT pg_table_is_visible('testtable'::regclass);
     pg_table_is_visible
    ---------------------
     t
    (1 row)

    4. 系統(tǒng)表信息函數(shù):

 

 

名字 返回類型 描述
format_type(type_oid,typemod) text 獲取一個(gè)數(shù)據(jù)類型的SQL名稱
pg_get_viewdef(view_oid) text 為視圖獲取CREATE VIEW命令
pg_get_viewdef(view_oid,pretty_bool) text 為視圖獲取CREATE VIEW命令
pg_get_ruledef(rule_oid) text 為規(guī)則獲取CREATE RULE命令
pg_get_ruledef(rule_oid,pretty_bool) text 為規(guī)則獲取CREATE RULE命令
pg_get_indexdef(index_oid) text 為索引獲取CREATE INDEX命令
pg_get_indexdef(index_oid,column_no,pretty_bool) text 為索引獲取CREATE INDEX命令, 如果column_no不為零,則是只獲取一個(gè)索引字段的定義
pg_get_triggerdef(trigger_oid) text 為觸發(fā)器獲取CREATE [CONSTRAINT] TRIGGER
pg_get_constraintdef(constraint_oid) text 獲取一個(gè)約束的定義
pg_get_constraintdef(constraint_oid,pretty_bool) text 獲取一個(gè)約束的定義
pg_get_expr(expr_text,relation_oid) text 反編譯一個(gè)表達(dá)式的內(nèi)部形式,假設(shè)其中的任何Vars都引用第二個(gè)參數(shù)指出的關(guān)系
pg_get_expr(expr_text,relation_oid, pretty_bool) text 反編譯一個(gè)表達(dá)式的內(nèi)部形式,假設(shè)其中的任何Vars都引用第二個(gè)參數(shù)指出的關(guān)系
pg_get_userbyid(roleid) name 獲取給出的ID的角色名
pg_get_serial_sequence(table_name,column_name) text 獲取一個(gè)serial或者bigserial字段使用的序列名字
pg_tablespace_databases(tablespace_oid) setof oid 獲取在指定表空間(OID表示)中擁有對(duì)象的一套數(shù)據(jù)庫(kù)的OID的集合

 

    這些函數(shù)大多數(shù)都有兩個(gè)變種,其中一個(gè)可以選擇對(duì)結(jié)果的"漂亮的打印"。 漂亮打印的格式更容易讀,但是缺省的格式更有可能被將來的PostgreSQL版本用同樣的方法解釋;如果是用于轉(zhuǎn)儲(chǔ),那么盡可能避免使用漂亮打印。 給漂亮打印參數(shù)傳遞false生成的結(jié)果和那個(gè)沒有這個(gè)參數(shù)的變種生成的結(jié)果完全一樣。

十三、系統(tǒng)管理函數(shù):

    1. 查詢以及修改運(yùn)行時(shí)配置參數(shù)的函數(shù):

 

名字 返回類型 描述
current_setting(setting_name) text 當(dāng)前設(shè)置的值
set_config(setting_name,new_value,is_local) text 設(shè)置參數(shù)并返回新值

 

  current_setting用于以查詢形式獲取setting_name設(shè)置的當(dāng)前數(shù)值。它和SQL命令SHOW是等效的。 比如:
 

復(fù)制代碼代碼如下:

    MyTest=# SELECT current_setting('datestyle');
     current_setting
    -----------------
     ISO, YMD
    (1 row)
 

    set_config將參數(shù)setting_name設(shè)置為new_value。如果is_local設(shè)置為true,那么新數(shù)值將只應(yīng)用于當(dāng)前事務(wù)。如果你希望新的數(shù)值應(yīng)用于當(dāng)前會(huì)話,那么應(yīng)該使用false。它等效于SQL命令SET。比如: 
 
復(fù)制代碼代碼如下:

    MyTest=# SELECT set_config('log_statement_stats','off', false);
     set_config
    ------------
     off
    (1 row)
   

    2. 數(shù)據(jù)庫(kù)對(duì)象尺寸函數(shù):

 

 

名字 返回類型 描述
pg_tablespace_size(oid) bigint 指定OID代表的表空間使用的磁盤空間
pg_tablespace_size(name) bigint 指定名字的表空間使用的磁盤空間
pg_database_size(oid) bigint 指定OID代表的數(shù)據(jù)庫(kù)使用的磁盤空間
pg_database_size(name) bigint 指定名稱的數(shù)據(jù)庫(kù)使用的磁盤空間
pg_relation_size(oid) bigint 指定OID代表的表或者索引所使用的磁盤空間
pg_relation_size(text) bigint 指定名稱的表或者索引使用的磁盤空間。這個(gè)名字可以用模式名修飾
pg_total_relation_size(oid) bigint 指定OID代表的表使用的磁盤空間,包括索引和壓縮數(shù)據(jù)
pg_total_relation_size(text) bigint 指定名字的表所使用的全部磁盤空間,包括索引和壓縮數(shù)據(jù)。表名字可以用模式名修飾。
pg_size_pretty(bigint) text 把字節(jié)計(jì)算的尺寸轉(zhuǎn)換成一個(gè)人類易讀的尺寸單位

 

    3. 數(shù)據(jù)庫(kù)對(duì)象位置函數(shù): 

 

名字 返回類型 描述
pg_relation_filenode(relationregclass) oid 獲取指定對(duì)象的文件節(jié)點(diǎn)編號(hào)(通常為對(duì)象的oid值)。
pg_relation_filepath(relationregclass) text 獲取指定對(duì)象的完整路徑名。

復(fù)制代碼代碼如下:

mydatabase=# select pg_relation_filenode('testtable');
     pg_relation_filenode
    ----------------------
                    17877
    (1 row)    
    mydatabase=# select pg_relation_filepath('testtable');
                 pg_relation_filepath
    ----------------------------------------------
     pg_tblspc/17633/PG_9.1_201105231/17636/17877
    (1 row)   

    該博客中提供的所有信息均源自PostgreSQL官方文檔,編寫該篇博客的主要目的是便于今后的查閱,特此聲明。 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久99国产精品自在自在app| 91福利视频网| 97精品中文字幕| 欧美另类精品xxxx孕妇| 日韩在线一区二区三区免费视频| 日韩女优在线播放| 在线观看完整版免费| 开心婷婷激情五月| 日本在线视频中文字幕| 午夜国产在线视频| 亚洲精品在线免费播放| 红桃视频成人在线观看| 亚洲视屏在线播放| 丰满岳乱妇国产精品一区| 亚洲+变态+欧美+另类+精品| 成人无码一区二区三区| 国产精品夜夜夜爽张柏芝| 91tv精品福利国产在线观看| 亚洲精品美女久久久| 久久久久久久久久久免费视频| 我不卡一区二区| 国产精品欧美三级在线观看| 91久久偷偷做嫩草影院| 国产精品综合激情| 久久这里只有精品99| 国产日韩欧美视频在线| 亚洲 自拍 另类小说综合图区| 亚洲字幕成人中文在线观看| 国产成人自拍高清视频在线免费播放| 国产suv精品一区二区33| 精品免费av| 玖玖在线免费视频| 日韩电影免费网址| 午夜影院免费在线观看| 国产精品男女猛烈高潮激情| 国产精品色一区二区三区| 国产95在线|亚洲| 国产精品超碰97尤物18| 欧美日韩1区2区3区| 99精品电影| 亚洲视频香蕉人妖| 制服 丝袜 综合 日韩 欧美| 国产精品入口麻豆免费| 国产美女视频一区二区三区| 黑人另类精品××××性爽| 免费看黄色的视频| 久久中文字幕在线视频| 奇米一区二区三区| 亚洲国产精品久久人人爱蜜臀| 天天操天天操天天操天天操天天操| 91超碰在线播放| 国产精品久久久久影院老司| 六月丁香激情网| 中文人妻一区二区三区| 五月天精品一区二区三区| 国产午夜久久久久| 亚洲精品一区二区三区香蕉| 国产精品久久久久久久天堂第1集| 久久久久久国产| 国产盗摄——sm在线视频| 日韩欧美精品综合| 国产偷国产偷亚洲清高网站| 亚洲欧洲美洲av| a级黄色片免费看| 永久免费在线观看视频| 999视频在线免费观看| 欧美大片顶级少妇| 欧美国产乱视频| 污污污www精品国产网站| 俄罗斯一级**毛片在线播放| av电影在线观看完整版一区二区| a天堂在线资源| 波多野结衣av在线播放| 黄色国产在线播放| 国产精品美女久久久久av超清| 成视频在线免费观看| 一个人免费播放在线视频看片| 日韩视频在线一区二区三区| 国产又黄又爽免费视频| 午夜爱爱毛片xxxx视频免费看| 国产精品久在线观看| 大桥未久一区二区三区| 免费一区二区视频| 精品国产第一区二区三区观看体验| 亚洲一二三四2021不卡| 国产精品久久久久久久7电影| 2019男人天堂| 午夜剧场在线免费观看| 欧美高清videos高潮hd| 国产不卡一卡2卡三卡4卡5卡在线| 午夜精品久久久久久久99老熟妇| 日日躁夜夜躁人人揉av五月天| 大型av综合网站| 国产小视频自拍| 中文字幕你懂的| 欧美日韩亚州综合| 黄网页在线观看| 99久久精品网站| 中文字幕一区二区三中文字幕| 久久久久久美女| 在线视频综合导航| 一级欧美一级日韩片| 欧美一级一区二区三区| chinese偷拍一区二区三区| 亚洲 日本 欧美 中文幕| 亚洲精品8mav| 免费精品99久久国产综合精品| 777国产偷窥盗摄精品视频| 欧美xxxx吸乳| 精品三级在线观看| 91精品小视频| 亚洲综合精品伊人久久| 99精品一区二区三区无码吞精| 男人的天堂在线免费视频| 校花撩起jk露出白色内裤国产精品| 成人性a激情免费视频| 欧美一区二区视频观看视频| 国产福利成人在线| 欧美黄色大片网站| 欧美一区在线观看视频| 最好看的2019年中文视频| 99久久久无码国产精品不卡| 亚洲成人精品av| 91久久精品美女高潮| 国产精品久久一区主播| www.亚洲自拍| 亚洲国产av一区二区| 99re6这里只有精品| 五月天亚洲视频| 欧美激情亚洲国产| 国产精品一区二区小说| 久久久久久国产精品日本| 久久99精品久久| 免费黄色在线视频网站| 最新av免费在线观看| 欧美成人免费视频| 日本精品免费视频| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 亚洲精品永久免费精品| 日韩中文字幕亚洲一区二区va在线| 欧美丝袜一区二区| 91蜜桃在线视频| 好男人www社区在线视频夜恋| 久久久久中文字幕亚洲精品| 精品久久久久中文慕人妻| 91在线高清| 国产成人精品视频在线| 免费的黄色av| 色噜噜狠狠一区二区三区果冻| 欧美日韩国产bt| 欧洲在线视频| 国产不卡一区二区在线观看| 色香色香欲天天天影视综合网| 午夜裸体女人视频网站在线观看| 色呦呦在线观看视频| 欧美啪啪精品| 日本不卡1234视频| 欧美自拍第一页| 国产999免费视频| 九一精品久久久| 亚洲黄色在线观看视频| 制服丝袜专区在线| 亚洲欧美日韩爽爽影院| 超碰人人爱人人| 国产成人精品a视频一区www| 欧美激情a∨在线视频播放| 欧美电影一二区| 色婷婷av一区二区三区之红樱桃| 影音日韩av| 波多野结衣成人在线| 影音先锋中文字幕影院| 日韩一级二级| 性欧美freesex顶级少妇| 福利一区二区在线| 中文字幕人妻丝袜乱一区三区| 成人日韩欧美| 免费在线观看一区二区三区| 国产cdts系列另类在线观看| jizz中国女人| eeuss鲁一区二区三区| 国产免费黄网站| 日日干天夜夜| 日本中文字幕在线一区| 亚洲大片精品免费| 污污的网站在线看| 欧美日本一区二区| 9i看片成人免费高清| 欧美精品xxxxx| 精品毛片免费观看| 亚洲国产中文字幕在线| 韩国三级午夜理伦三级三| 久久免费视频99| 2019中文字幕在线免费观看| 欧美午夜视频一区二区| 一本一道波多野结衣一区二区| 不卡av影片| 免费在线观看h| 国产精品亚洲a| 偷拍日韩校园综合在线| 99鲁鲁精品一区二区三区| 日本少妇全体裸体洗澡| 你懂的在线网址| 污视频在线免费| 宅男噜噜噜66国产精品免费| 黑色丝袜福利片av久久| 亚洲欧洲色图综合| 久久久久久国产精品日本| 久久精品—区二区三区舞蹈| 撸视在线观看免费视频| 米奇777四色精品人人爽| 欧美三级三级三级| 国产精品国产三级国产专区53| 欧美日韩伦理| 一日本道久久久精品国产| 制服.丝袜.亚洲.中文.综合懂色| 久久男人av| 美丽的姑娘在线观看免费动漫| 影音先锋男人在线资源| 成人看片毛片免费播放器| 日本在线播放一区二区三区| 久久香蕉精品香蕉| 国产精品免费一区二区三区都可以| 天天躁日日躁狠狠躁免费麻豆| 久久久久久久久久久久av| 日韩成人av一区二区| 久久亚洲精精品中文字幕| 伊人网中文字幕| 久久免费视频观看| 国产日韩中文在线| 日韩限制级电影在线观看| 日韩精品视频免费在线观看| 中文字幕日韩高清| 日韩高清三区| 亚洲精品久久久久avwww潮水| 九九这里只有精品视频| 欧洲美女女同性互添| 四虎成人永久免费视频| 欧美一级bbbbb性bbbb喷潮片| 一本色道久久综合亚洲精品按摩| 久久爱av电影| 性欧美16一18| 二人午夜免费观看在线视频| 日韩精品极品视频| www.久久东京| 欧美日韩国内自拍| 99热99精品| 日本视频一二区| 国产精品影院在线观看| 国产在线观看一区二区| 精品国产一区二区三区久久久蜜臀| 亚洲一区二区在线观看视频| 日本裸体美女视频| 亚洲性在线观看| 国产激情一区二区三区四区| 欧美激情一区二区三区在线| 国产伦一区二区| 国产无遮挡又黄又爽又色| 污网站在线免费| 亚洲欧洲激情在线| 亚洲爆乳无码一区二区三区| 日本一区二区三区视频免费看| 中文字幕+乱码+中文乱码www| 538在线一区二区精品国产| 一区二区精品免费视频| 亚洲日本在线播放| 人妻无码一区二区三区久久99| www.久久东京| 国产高清在线a视频大全| 天天操天天是| 浅井舞香一区二区| 日本猛少妇色xxxxx免费网站| 日韩极品视频在线观看| 久久五月精品中文字幕| 色综合中文字幕国产| 国产麻豆xxxvideo实拍| 一本久久a久久精品vr综合| 在线观看你懂的网站| 日韩中文一区二区三区| 亚洲三级免费电影| 欧美天天综合网| 久久久久久久久久美女| 亚洲熟妇av乱码在线观看| 粉嫩av一区二区夜夜嗨| 欧美一级在线| 免费黄网站在线播放| 宅男66日本亚洲欧美视频| 无码人妻丰满熟妇精品| 精品成人免费自拍视频| 国产亚洲精品熟女国产成人| 2018中文字幕在线| av电影免费| 欧美午夜精品久久久久久孕妇| 中国黄色一级视频| 欧美大黄免费观看| 缴情综合网五月天| www在线免费观看视频| 不卡av电影在线播放| 中文字幕第38页| 狠狠色狠狠色综合| 九色在线视频| 久久最新免费视频| 亚洲天堂第一页| 啊灬啊灬啊灬啊灬高潮在线看| 嗯啊主人调教在线播放视频| 无码人妻一区二区三区线| 在线播放一区二区三区| 久久精品国产99国产精品澳门| 亚洲激情一区| 欧美性受xxxx黑人猛交| 在线观看亚洲天堂| 欧美第一页草草影院浮力| 欧美视频在线播放| 中文字幕免费观看视频| 黑人粗进入欧美aaaaa| 成年人在线免费观看视频网站| 清清草免费视频| 黄色美女视频在线观看| 亚洲精品第一国产综合野| 精品在线免费观看视频| 亚洲最大福利视频网| 97在线公开视频| 国偷自拍第113页| www.xxx.国产| 北条麻妃高清一区| 亚洲成人中文| 嫩草视频免费在线观看| 天天草夜夜操| 色五月激情五月|