3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库MYSQL学习系列二

發(fā)布時(shí)間:2025/7/14 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库MYSQL学习系列二 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2.1-MySQL數(shù)據(jù)類型

Number不止一種

×××
浮點(diǎn)型
×××

INT
SMALLINT
MEDIUMINT
BIGINT
type Storage Minumun Value Maximum Value
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615
老生常談的問題

int(11) VS int(21) 存儲空間,還是存儲范圍有區(qū)別?

答案是:兩者完全一樣,只是在顯示的時(shí)候補(bǔ)全0的位數(shù)不一樣。

可以通過下面的例子來驗(yàn)證:

create table t(a int(11) zerofill, b int(21) zerofill);
insert into t values (1, 1);
select * from t;
MySQL默認(rèn)是不帶0補(bǔ)全的。

只是在一些特殊情況下兩者顯示有區(qū)別,其本質(zhì)完全一樣。

浮點(diǎn)型

FLOAT(M, D)
DOUBLE(M, D)
屬性 存儲空間 精度 精確性
Float 4 bytes 單精度 非精確
Double 8 bytes 雙精度 比Float精度高
精度丟失問題

精度丟失
一個(gè)例子:

create table t(a int(11), b float(7, 4));
insert into t values (2, 123.12345);
select * from t;
定點(diǎn)數(shù)-更精確的數(shù)字類型

DECIMAL
高精度的數(shù)據(jù)類型,常用來存儲交易相關(guān)的數(shù)據(jù)
DECIMAL(M,N).M代表總精度,N代表小數(shù)點(diǎn)右側(cè)的位數(shù)(標(biāo)度)
1 < M < 254, 0 < N < 60;
存儲空間變長
性別、省份信息

一般使用tinyint、char(1)、enum類型。

經(jīng)驗(yàn)之談

存儲性別、省份、類型等分類信息時(shí)選擇TINYINT或者ENUM
BIGINT存儲空間更大,INT和BIGINT之間通常選擇BIGINT
交易等高精度數(shù)據(jù)選擇使用DECIMAL
存儲用戶名的屬性

CHAR
VARCHAR
TEXT
CAHR與VARCHAR

CHAR和VARCHAR存儲的單位都是字符
CHAR存儲定長,容易造成空間的浪費(fèi)
VARCHAR存儲變長,節(jié)省存儲空間
字符與字節(jié)的區(qū)別

編碼\輸入字符串 網(wǎng)易 netease
gbk(雙字節(jié)) varchar(2)/4 bytes varchar(7)/7 bytes
utf8(三字節(jié)) varchar(2)/6 bytes varchar(7)/7 bytes
utf8mb4(四字節(jié)) varchar(2) ? varchar(7)/7 bytes
對于utf8mb4號稱占用四字節(jié)但是并不絕對。如果在utf8可以覆蓋到的范圍則仍然占用3字節(jié)。

utf8mb4最有優(yōu)勢的應(yīng)用場景是用于存儲emoji表情

emoji表情

MySQL版本 > 5.5.3
JDBC驅(qū)動版本 > 5.1.13
庫和表的編碼設(shè)為utf8mb4
TEXT與CHAR和VARCHAR的區(qū)別

CHAR和VARCHAR存儲單位為字符
TEXT存儲單位為字節(jié),總大小為65535字節(jié),約為64KB
CHAR數(shù)據(jù)類型最大為255字符
VARCHAR數(shù)據(jù)類型為變長存儲,可以超過255個(gè)字符
TEXT在MySQL內(nèi)部大多存儲格式為溢出頁,效率不如CHAR
一個(gè)例子:

create table t (a char(256));
create table t (a varchar(256));
存儲頭像

BLOB
BINARY
性能太差,不推薦

經(jīng)驗(yàn)之談

CHAR與VARCHAR定義的長度是字符長度不是字節(jié)長度
存儲字符串推薦使用VARCHAR(N),N盡量小
雖然數(shù)據(jù)庫可以存儲二進(jìn)制數(shù)據(jù),但是性能低下,不要使用數(shù)據(jù)庫存儲文件音頻等二進(jìn)制數(shù)據(jù)
存儲生日信息

DATE
TIME
DATETIME
TIMESTAMP
BIGINT
時(shí)間類型的區(qū)別在哪里

存儲空間上的區(qū)別

DATE三字節(jié),如:2015-05-01
TIME三字節(jié),如:11:12:00
TIMESTAMP,如:2015-05-01 11::12:00
DATETIME八字節(jié),如:2015-05-01 11::12:00
存儲精度的區(qū)別

DATE精確到年月日
TIME精確到小時(shí)分鐘和秒
TIMESTAMP、DATETIME都包含上述兩者
TIMESTAMP VS DATETIME

存儲范圍的區(qū)別
TIMESTAMP存儲范圍:1970-01-01 00::00:01 to 2038-01-19 03:14:07
DATETIME的存儲范圍:1000-01-01 00:00:00 to 9999-12-31 23:59:59
MySQL在5.6.4版本之后,TimeStamp和DateTime支持到微妙

字段類型與市區(qū)的關(guān)聯(lián)關(guān)系
TIMESTAMP會根據(jù)系統(tǒng)時(shí)區(qū)進(jìn)行轉(zhuǎn)換,DATETIME則不會
字段類型和時(shí)區(qū)的關(guān)系

國際化的系統(tǒng)
一個(gè)例子:

create table test (a datetime, b timestamp);
select now();
insert into test values (now(), now());
select from test;
set time_zone = '+00:00';
select from test;
BIGINT如何存儲時(shí)間類型

應(yīng)用程序?qū)r(shí)間轉(zhuǎn)換為數(shù)字類型
2.2-MySQL數(shù)據(jù)對象

MySQL常見的數(shù)據(jù)對象有哪些

DataBase/Schema
Table
Index
View/Trigger/Function/Procedure
庫、表、行層級關(guān)系

一個(gè)DataBase對應(yīng)一個(gè)Schema
一個(gè)Schema包含一個(gè)或多個(gè)表
一個(gè)表里面包含一個(gè)或多個(gè)字段
一個(gè)表里包含一條或多條記錄
一個(gè)表包含一個(gè)或多個(gè)索引
多DataBase用途

業(yè)務(wù)隔離
資源隔離
表上有哪些常用的數(shù)據(jù)對象

索引
約束
視圖、觸發(fā)器、函數(shù)、存儲過程
什么是數(shù)據(jù)庫索引

讀書的時(shí)候如何快速定位某一章節(jié)
查找書籍目錄
在自己喜歡的章節(jié)加書簽,直接定位
索引就是數(shù)據(jù)庫中的數(shù)據(jù)的目錄(索引和數(shù)據(jù)是分開存儲的)
索引和數(shù)據(jù)是兩個(gè)對象
索引主要是用來提高數(shù)據(jù)庫的查詢效率
數(shù)據(jù)庫中數(shù)據(jù)變更同樣需要同步索引數(shù)據(jù)的變更
如何創(chuàng)建索引(一)

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[index_type]
ON tbl_name (index_col_name,...)
[index_option]
[algorithm_option | lock_option] ...

index_col_name:
col_name [(length)] [ASC | DESC]

index_type:
USING {BTREE | HASH}
如何創(chuàng)建索引(二)

ALTER [IGNORE] TABLE tbl_name
[alter_specification [, alter_specification] ...]
[partition_options]

alter_specification:
table_options
| ADD [COLUMN] col_name column_definition
[FIRST | AFTER col_name]
ADD [COLUMN] (col_name column_definition,...)
ADD {INDEX|KEY} [index_name]
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]]
UNIQUE [INDEX|KEY] [index_name]
約束

生活中的約束有哪些
每個(gè)人的指紋信息必須唯一
每個(gè)人的×××要求唯一
網(wǎng)上購物需要先登錄才能下單
唯一約束
對一張表的某個(gè)字段或者某幾個(gè)字段設(shè)置唯一鍵約束,保證在這個(gè)表里對應(yīng)的數(shù)據(jù)必須唯一,如:用戶ID、手機(jī)號、×××等。
創(chuàng)建唯一約束

唯一約束是一種特殊的索引
唯一約束可以是一個(gè)或者多個(gè)字段
唯一約束可以在創(chuàng)建表的時(shí)候建好,也可以后面再補(bǔ)上
主鍵也是一種唯一約束
唯一約束

以如下這張表為例

CREATE TABLE order (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
orderid int(10) unsigned NOT NULL,
bookid int(10) unsigned NOT NULL DEFAULT '0',
userid int(10) unsigned NOT NULL DEFAULT '0',
number tinyint(3) unsigned NOT NULL DEFAULT '0',
address varchar(128) NOT NULL DEFAULT '',
postcode varchar(128) NOT NULL DEFAULT '',
orderdate datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
status tinyint(3) unsigned zerofill DEFAULT '000',
PRIMARY KEY (id),
UNIQUE KEY idx_orderid (orderid),
UNIQUE KEY idx_uid_orderid (userid, orderid),
KEY bookid (bookid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
索引有哪些
主鍵索引 ID
單鍵索引 orderid
單鍵索引 bookid
組合索引 (userid + orderid)
唯一約束有哪些
主鍵約束 (ID)
單鍵唯一索引 (orderid)
組合唯一索引 (userid + orderid)
添加唯一約束

添加主鍵
alter table order add primary key (id);
添加唯一索引
alter table order add unique key idx_uk_orderid (orderid);
外鍵約束

外鍵指兩張表的數(shù)據(jù)通過某種條件關(guān)聯(lián)起來
創(chuàng)建外鍵約束

將用戶表和訂單表通過外鍵關(guān)聯(lián)起來
alter table order add CONSTRAINT constraint_uid FOREIGN KEY (userid) REFERENCES user(userid);
使用外鍵的注意事項(xiàng)
必須是INNODB表,Myisam和其他引擎不支持外鍵
相互約束的字段類型必須要求一樣
主表的約束字段要求有索引
約束名稱必須要唯一,即使不在一張表上
View

產(chǎn)品需求
假如有其他部門的同事想查詢我們數(shù)據(jù)庫里的數(shù)據(jù),但是我們并不想暴露表結(jié)構(gòu),并且只提供給他們部分?jǐn)?shù)據(jù)
View的作用

視圖將一組查詢語句構(gòu)成的結(jié)果集,是一種虛擬結(jié)構(gòu),并不是實(shí)際數(shù)據(jù)
視圖能簡化數(shù)據(jù)庫的訪問,能夠?qū)⒍鄠€(gè)查詢語句結(jié)構(gòu)化為一個(gè)虛擬結(jié)構(gòu)
視圖可以隱藏?cái)?shù)據(jù)庫后端表結(jié)構(gòu),提高數(shù)據(jù)庫安全性
視圖也是一種權(quán)限管理,只對用戶提供部分?jǐn)?shù)據(jù)
創(chuàng)建View

創(chuàng)建已完成訂單的視圖
create view order_view as select * from order where status=1;
Trigger

產(chǎn)品需求
隨著客戶個(gè)人等級的提升, 系統(tǒng)需要自動更新用戶的積分,其中一共有兩張表,分別為:用戶信息表和積分表
Trigger俗稱觸發(fā)器,指可以在數(shù)據(jù)寫入表A之前或者之后可以做一些其他動作
使用Trigger在每次更新用戶表的時(shí)候出發(fā)更新積分表
除此之外還有哪些

Function
Procedure
2.3-MySQL權(quán)限管理

連接MySQL的必要條件

網(wǎng)絡(luò)要通暢
用戶名和密碼要正確
數(shù)據(jù)庫需要加IP白名單
更細(xì)粒度的驗(yàn)證(庫、表、列權(quán)限類型等等)
數(shù)據(jù)有哪些權(quán)限

show privileges命令可以查看全部權(quán)限

權(quán)限粒度

Data Privileges
DATA: SELECT, INSERT, UPDATE, DELETE
Definition Privileges
DataBase: CREATE, ALTER, DROP
Table: CREATE, ALTER, DROP
VIEW/FUNCTION/TRIGGER/PROCEDURE: CREATE, ALTER, DROP
Administrator Privileges
Shutdown DataBase
Replication Slave
Replication Client
File Privilege
MySQL賦權(quán)操作

GRANT
priv_type [(column_list)]
[, priv_type [column_list]] ...
ON [object_type] priv_level
TO user_specification [, user_specification] ...
[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
[WITH with_option ...]
GRANT PROXY ON user_specification
TO user_specification [, user_specification] ...
[WITH GRANT OPTION]
如何新建一個(gè)用戶并賦權(quán)

使用MySQL自帶的命令
CREATE USER 'netease'@'localhost' IDENTIFIED BY 'netease163';
GRANT SELECT ON . TO 'netease'@'localhost' WITH GRANT OPTION;
其他方法

更改數(shù)據(jù)庫記錄
首先向User表里面插入一條記錄,根據(jù)自己的需要選擇是否向db和table_pirv表插入記錄
執(zhí)行flush privileges命令,讓權(quán)限信息生效
更簡單的辦法

GRANT語句會判斷是否存在該用戶,如果不存在則新建
GRANT SELECT ON . TO 'NETEASE'@'localhost' IDENTIFIED BY 'netease163' WITH GRANT OPTION;
查看用戶的權(quán)限信息

查看當(dāng)前用戶的權(quán)限
show grants;
查看其它用戶的權(quán)限
show grants for netease@'localhost';
如何更改用戶的權(quán)限

回收不需要的權(quán)限
revoke select on . from netease@'localhost';
重新賦權(quán)
grant insert on . to netease@'localhost';
如何更改用戶密碼

用新密碼,grant語句重新授權(quán)
更改數(shù)據(jù)庫記錄,Update User表的Password字段
注意:用這種辦法,更改完需要flush privileges刷新權(quán)限信息,不推薦
刪除用戶

DROP USER user [, user] ...
With Grant Option

允許被授予權(quán)利的人把這個(gè)權(quán)利授予其他的人
MySQL權(quán)限信息存儲結(jié)構(gòu)

MySQL權(quán)限信息是存在數(shù)據(jù)庫表中
MySQL賬號對應(yīng)的密碼也加密存儲在數(shù)據(jù)庫表中
每一種權(quán)限類型在元數(shù)據(jù)里都是枚舉類型,表明是否有該權(quán)限
有哪些權(quán)限相關(guān)的表

user
db
table_pirv
columns_pirv
host
權(quán)限驗(yàn)證流程

查詢時(shí)從user->db->table_pirv->columns_pirv依次驗(yàn)證,如果通過則執(zhí)行查詢。

小結(jié)

MySQL權(quán)限信息都是以數(shù)據(jù)記錄的形式存儲在數(shù)據(jù)庫的表中。
MySQL的權(quán)限驗(yàn)證相比網(wǎng)站登錄多了白名單環(huán)節(jié),并且粒度更細(xì),可以精確到表和字段。
MySQL權(quán)限上有哪些問題

使用Binary二進(jìn)制安裝管理用戶沒有設(shè)置密碼
MySQL默認(rèn)的test庫不受權(quán)限控制,存在安全風(fēng)險(xiǎn)
mysql_secure_installation

You can set a Password for root accounts.
You can remove root accounts that are accessible from outside the localhost.
You can remove anonymous-user accounts.
You can remove the test database.
小結(jié)

權(quán)限相關(guān)的操作不要直接操作表,統(tǒng)一使用MySQL命令。
使用二進(jìn)制安裝MySQL安裝后,需要重置管理用戶(root)的密碼。
線上數(shù)據(jù)庫不要留test庫
實(shí)踐課:數(shù)據(jù)庫對象

何為表結(jié)構(gòu)設(shè)計(jì)

表結(jié)構(gòu)設(shè)計(jì)需要在正式進(jìn)行開發(fā)之前完成
根據(jù)產(chǎn)品需求將復(fù)雜的業(yè)務(wù)模型抽象出來
設(shè)計(jì)表的時(shí)候需要注意哪些

理解各個(gè)表的依賴關(guān)系
理解各個(gè)表的功能特點(diǎn)
字段之間的約束、索引
字段類型、字段長度
收集表屬性

昵稱
生日
性別
手機(jī)號碼
住宅號碼
郵編
住宅地址
注冊地址
登錄IP
上一次登錄時(shí)間
郵件地址
理解表的功能特點(diǎn)——數(shù)據(jù)用途

create table tb_account(
account_id int not null auto_increment primary key,
nick_name varchar(20),
true_name varchar(20),
sex char(1),
mail_address varchar(50),
phone1 varchar(20) not null,
phone2 varchar(20),
password varchar(30) not null,
create_time datetime,
account_state tinyint,
last_login_time datetime,
last_login_ip varchar(20)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

create table tb_goods(
good_id bigint not null auto_increment primary key,
goods_name varchar(100) not null,
pic_url varchar(500) not null,
store_quantity int not null,
goods_note varchar(4096),
producer varchar(500),
category_id int not null
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

create table tb_goods_category(
category_id int not null auto_increment primary key,
category_level smallint not null,
category_name varchar(500),
upper_category_id int not null
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

create table tb_order(
order_id bigint not null auto_increment primary key,
account_id int not null,
create_time datetime,
order_amount decimal(12,2),
order_state tinyint,
update_time datetime,
order_ip varchar(20),
pay_method varchar(20),
user_notes varchar(500)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

create table tb_order_item(
order_item_id bigint not null auto_increment primary key,
order_id bigint not null,
goods_id bigint not null,
goods_quantity int not null,
goods_amount decimal(12,2),
uique key uk_order_goods(order_id, goods_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
數(shù)據(jù)類型——命名規(guī)范

所有表名,字段名全部使用小寫字母
不同業(yè)務(wù),表名使用不同前綴區(qū)分。
生成環(huán)境表名字段名要有實(shí)際意義
單個(gè)字段盡量使用字段全名;多個(gè)字段之間用下劃線分隔
字段設(shè)計(jì)規(guī)范

字段類型選擇,盡量選擇能滿足應(yīng)用要求的最小數(shù)據(jù)類型
盡量使用×××代替字符型。×××在字段長度、索引大小等方面開銷小效率更高,如郵編字段,手機(jī)號碼等
注釋,每個(gè)字段必須以comment語句給出字段的作用
經(jīng)常訪問的大字段需要單獨(dú)放到一張表中,避免降低sql效率,圖片、電影等大文件數(shù)據(jù)禁止存數(shù)據(jù)庫
新業(yè)務(wù)統(tǒng)一建議使用utf8mb4字符集
用戶賦權(quán)

理解用戶到底需要什么權(quán)限
普通用戶只有數(shù)據(jù)讀寫權(quán)限
系統(tǒng)管理員具有super權(quán)限
權(quán)限粒度要做到盡可能的細(xì)
普通用戶不要設(shè)置with grant option屬性
權(quán)限粒度:系統(tǒng)層面>庫層面>表層面>字段層面
禁止簡單密碼
線上密碼要求隨機(jī)
2.4-SQL語言進(jìn)階

本課程涉及建表SQL


-- Table structure for play_fav


DROP TABLE IF EXISTS play_fav;
CREATE TABLE play_fav (
userid bigint(20) NOT NULL COMMENT '收藏用戶id',
play_id bigint(20) NOT NULL COMMENT '歌單id',
createtime bigint(20) NOT NULL COMMENT '收藏時(shí)間',
status int(11) DEFAULT '0' COMMENT '狀態(tài),是否刪除',
PRIMARY KEY (play_id,userid),
KEY IDX_USERID (userid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='歌單收藏表';


-- Records of play_fav


INSERT INTO play_fav VALUES ('2', '0', '0', '0');
INSERT INTO play_fav VALUES ('116', '1', '1430223383', '0');
INSERT INTO play_fav VALUES ('143', '1', '0', '0');
INSERT INTO play_fav VALUES ('165', '2', '0', '0');
INSERT INTO play_fav VALUES ('170', '3', '0', '0');
INSERT INTO play_fav VALUES ('185', '3', '0', '0');
INSERT INTO play_fav VALUES ('170', '4', '0', '0');
INSERT INTO play_fav VALUES ('170', '5', '0', '0');


-- Table structure for play_list


DROP TABLE IF EXISTS play_list;
CREATE TABLE play_list (
id bigint(20) NOT NULL COMMENT '主鍵',
play_name varchar(255) DEFAULT NULL COMMENT '歌單名字',
userid bigint(20) NOT NULL COMMENT '歌單作者賬號id',
createtime bigint(20) DEFAULT '0' COMMENT '歌單創(chuàng)建時(shí)間',
updatetime bigint(20) DEFAULT '0' COMMENT '歌單更新時(shí)間',
bookedcount bigint(20) DEFAULT '0' COMMENT '歌單訂閱人數(shù)',
trackcount int(11) DEFAULT '0' COMMENT '歌曲的數(shù)量',
status int(11) DEFAULT '0' COMMENT '狀態(tài),是否刪除',
PRIMARY KEY (id),
KEY IDX_CreateTime (createtime),
KEY IDX_UID_CTIME (userid,createtime)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='歌單';


-- Records of play_list


INSERT INTO play_list VALUES ('1', '老男孩', '1', '1430223383', '1430223383', '5', '6', '0');
INSERT INTO play_list VALUES ('2', '情歌王子', '3', '1430223384', '1430223384', '7', '3', '0');
INSERT INTO play_list VALUES ('3', '每日歌曲推薦', '5', '1430223385', '1430223385', '2', '4', '0');
INSERT INTO play_list VALUES ('4', '山河水', '2', '1430223386', '1430223386', '5', null, '0');
INSERT INTO play_list VALUES ('5', '李榮浩', '1', '1430223387', '1430223387', '1', '10', '0');
INSERT INTO play_list VALUES ('6', '情深深', '5', '1430223388', '1430223389', '0', '0', '1');


-- Table structure for song_list


DROP TABLE IF EXISTS song_list;
CREATE TABLE song_list (
id bigint(20) NOT NULL COMMENT '主鍵',
song_name varchar(255) NOT NULL COMMENT '歌曲名',
artist varchar(255) NOT NULL COMMENT '藝術(shù)節(jié)',
createtime bigint(20) DEFAULT '0' COMMENT '歌曲創(chuàng)建時(shí)間',
updatetime bigint(20) DEFAULT '0' COMMENT '歌曲更新時(shí)間',
album varchar(255) DEFAULT NULL COMMENT '專輯',
playcount int(11) DEFAULT '0' COMMENT '點(diǎn)播次數(shù)',
status int(11) DEFAULT '0' COMMENT '狀態(tài),是否刪除',
PRIMARY KEY (id),
KEY IDX_artist (artist),
KEY IDX_album (album)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='歌曲列表';


-- Records of song_list


INSERT INTO song_list VALUES ('1', 'Good Lovin\' Gone Bad', 'Bad Company', '0', '0', 'Straight Shooter', '453', '0');
INSERT INTO song_list VALUES ('2', 'Weep No More', 'Bad Company', '0', '0', 'Straight Shooter', '280', '0');
INSERT INTO song_list VALUES ('3', 'Shooting Star', 'Bad Company', '0', '0', 'Straight Shooter', '530', '0');
INSERT INTO song_list VALUES ('4', '大象', '李志', '0', '0', '1701', '560', '0');
INSERT INTO song_list VALUES ('5', '定西', '李志', '0', '0', '1701', '1023', '0');
INSERT INTO song_list VALUES ('6', '紅雪蓮', '洪啟', '0', '0', '紅雪蓮', '220', '0');
INSERT INTO song_list VALUES ('7', '風(fēng)柜來的人', '李宗盛', '0', '0', '作品李宗盛', '566', '0');


-- Table structure for stu


DROP TABLE IF EXISTS stu;
CREATE TABLE stu (
id int(10) NOT NULL DEFAULT '0',
name varchar(20) DEFAULT NULL,
age int(10) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


-- Records of stu



-- Table structure for tbl_proc_test


DROP TABLE IF EXISTS tbl_proc_test;
CREATE TABLE tbl_proc_test (
id int(11) NOT NULL AUTO_INCREMENT,
num int(11) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;


-- Records of tbl_proc_test


INSERT INTO tbl_proc_test VALUES ('11', '1');
INSERT INTO tbl_proc_test VALUES ('12', '2');
INSERT INTO tbl_proc_test VALUES ('13', '6');
INSERT INTO tbl_proc_test VALUES ('14', '24');
INSERT INTO tbl_proc_test VALUES ('15', '120');
INSERT INTO tbl_proc_test VALUES ('16', '720');
INSERT INTO tbl_proc_test VALUES ('17', '5040');
INSERT INTO tbl_proc_test VALUES ('18', '40320');
INSERT INTO tbl_proc_test VALUES ('19', '362880');
INSERT INTO tbl_proc_test VALUES ('20', '3628800');
INSERT INTO tbl_proc_test VALUES ('21', '1');
INSERT INTO tbl_proc_test VALUES ('22', '2');
INSERT INTO tbl_proc_test VALUES ('23', '6');
INSERT INTO tbl_proc_test VALUES ('24', '24');
INSERT INTO tbl_proc_test VALUES ('25', '1');
INSERT INTO tbl_proc_test VALUES ('26', '2');
INSERT INTO tbl_proc_test VALUES ('27', '6');
INSERT INTO tbl_proc_test VALUES ('28', '24');
INSERT INTO tbl_proc_test VALUES ('29', '120');


-- Table structure for tbl_test1


DROP TABLE IF EXISTS tbl_test1;
CREATE TABLE tbl_test1 (
user varchar(255) NOT NULL COMMENT '主鍵',
key varchar(255) NOT NULL,
value varchar(255) NOT NULL,
PRIMARY KEY (user,key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='行列轉(zhuǎn)換測試';


-- Records of tbl_test1


INSERT INTO tbl_test1 VALUES ('li', 'age', '18');
INSERT INTO tbl_test1 VALUES ('li', 'dep', '2');
INSERT INTO tbl_test1 VALUES ('li', 'sex', 'male');
INSERT INTO tbl_test1 VALUES ('sun', 'age', '44');
INSERT INTO tbl_test1 VALUES ('sun', 'dep', '3');
INSERT INTO tbl_test1 VALUES ('sun', 'sex', 'female');
INSERT INTO tbl_test1 VALUES ('wang', 'age', '20');
INSERT INTO tbl_test1 VALUES ('wang', 'dep', '3');
INSERT INTO tbl_test1 VALUES ('wang', 'sex', 'male');


-- Procedure structure for proc_test1


DROP PROCEDURE IF EXISTS proc_test1;
DELIMITER ;;
CREATE DEFINER=root PROCEDURE proc_test1(IN total INT,OUT res INT)
BEGIN
DECLARE i INT;
SET i = 1;
SET res = 1;
IF total <= 0 THEN
SET total = 1;
END IF;
WHILE i <= total DO
SET res = res * i;
INSERT INTO tbl_proc_test(num) VALUES (res);
SET i = i + 1;
END WHILE;
END
;;
DELIMITER ;
說明

本課程介紹以MySQL SQL語法為基礎(chǔ),不同數(shù)據(jù)庫SQL語法存在差異,并未完全遵照ANSI標(biāo)準(zhǔn)。
本課程結(jié)合一個(gè)實(shí)際項(xiàng)目(云音樂),介紹各種SQL語言在實(shí)際應(yīng)用中如何實(shí)現(xiàn)業(yè)務(wù)功能。
SQL進(jìn)階語法——order by

場景1:歌單按時(shí)間排序

-- 查看全部歌單
select * from play_list;

-- 按創(chuàng)建時(shí)間排序
select from play_list order by createtime;
-- MySQL默認(rèn)升序,如果按降序排列,則使用如下語句。
select from play_list order by createtime desc;
-- 也可以按照多個(gè)字段來排序
select * from play_list order by bookedcount, trackcount;
SQL進(jìn)階語法——distinct

場景2:統(tǒng)計(jì)云音樂創(chuàng)建歌單的用戶

-- 有重復(fù)
select userid from play_list;

-- 去重
select distinct userid from play_list;

-- 多個(gè)字段
select distinct userid, play_name from play_list;
distinct用于返回唯一不同的值
可以返回多列的唯一組合
底層實(shí)現(xiàn)使用排序,如果數(shù)據(jù)量大會消耗較多的IO和CPU
SQL進(jìn)階語法——group by

場景3-1:統(tǒng)計(jì)云音樂創(chuàng)建歌單的用戶列表和每人創(chuàng)建歌單的數(shù)量。

-- 每個(gè)用戶歌單的最大訂閱數(shù)
select userid, max(bookedcount) from play_list group by userid;

-- 每個(gè)用戶歌單的數(shù)量
select userid, count() from play_list group by userid;
group by 根據(jù)單列或多列對數(shù)據(jù)進(jìn)行分組,通常結(jié)合聚合函數(shù)使用,如count().
SQL進(jìn)階語法——group by having

場景3-2:統(tǒng)計(jì)云音樂創(chuàng)建歌單的用戶列表和每人創(chuàng)建歌單的數(shù)量,并且只顯示歌單數(shù)量排序大于等于2的用戶

select userid, count() from play_list group by userid having count() >= 2;
having 是對結(jié)果進(jìn)行過濾
SQL進(jìn)階語法-like

select * from play_list where playname like '%男孩%';
通配符 描述
% 代替一個(gè)或多個(gè)字符
代替單個(gè)字符
[charlist] 中括號中的任何一個(gè)字符
[^charlist] 或者 [!charlist] 不在中括號中的任何單一字符
除了百分號在最右面的情況以外,他會對這個(gè)表中所有的記錄進(jìn)行一次查詢匹配,而沒辦法使用索引,效率較低。大表中需要慎用like。可以使用全文檢索的手段。
SQL進(jìn)階語法-limit, offset

場景4:查詢一個(gè)月內(nèi)創(chuàng)建歌單(從第6行開始顯示10條記錄)

select * from play_list where (createtime between 1427791323 and 1430383307) limit 10 offset 6;
offset后的值不建議太大,需要消耗的IO較大
case when

case when 實(shí)現(xiàn)類似編程語言的if else功能,可以對SQL的輸出結(jié)果進(jìn)行選擇判斷。
場景5:對于未錄入歌曲的歌單(trackcount = null),輸出結(jié)果時(shí)歌曲數(shù)返回0.

select case when play_name, trackcount is null then 0 else trackcount end from play_list;
select相關(guān)進(jìn)階語法

SELECT
[DISTINCT]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT { [offset, ] row_count | row_count OFFSET offset}]
[FOR UPDATE | LOCK IN SHARE MODE]]
連接-Join

連接的作用是用一個(gè)SQL語句把多個(gè)表中相互關(guān)聯(lián)的數(shù)據(jù)查出來

場景6:查詢收藏“老男孩”歌單的用戶列表

select * from play_list, play_fav where play_list.id=play_fav.play_id;
select play_fav.userid from play_list, play_fav where play_list.id=play_fav.play_id and play_list.play_name='老男孩';
-- 另一種寫法
select f.userid from play_list lst join play_fav f on lst.id=f.play_id where lst.play_name = '老男孩';
子查詢

MySQL還有另一種寫法,可以實(shí)現(xiàn)同樣的功能。
select userid from play_fav where play_id=(select id from play_list where play_name = '老男孩');
子查詢:內(nèi)層查詢的結(jié)果作為外層的比較條件。一般子查詢都可以轉(zhuǎn)換成連接,推薦使用連接。

不利于MySQL的查詢優(yōu)化器進(jìn)行優(yōu)化,可能存在性能問題
連接的實(shí)現(xiàn)是嵌套循環(huán),選擇一個(gè)驅(qū)動表,遍歷驅(qū)動表,查詢內(nèi)層表,依次循環(huán)。驅(qū)動表會至少查詢一邊,如果有索引等,內(nèi)層表可以非常快,查詢優(yōu)化器會選擇數(shù)據(jù)小的表作為驅(qū)動表。
子查詢由人為規(guī)定驅(qū)動表和內(nèi)層表
連接- left Join

select lst.play_name from play_list lst left join play_fav f on lst.id = f.play_id where f.play_id is null;
LEFT JOIN從左表(play_list)返回所有的行,即使在右表中(play_fav)中沒有匹配的行。
與LEFT JOIN相對應(yīng)的有RIGHT JOIN關(guān)鍵字,會從右表那里返回所有的行,即使在左表中沒有匹配的行。
場景7:查詢出沒有用戶收藏的歌單

SQL進(jìn)階語法-union

場景8:老板想看創(chuàng)建和收藏歌單的所有用戶,查詢play_list和play_fav兩表中所有的userid

select userid from play_list union select userid from play_fav;
-- 默認(rèn)會去重, 不想去重的話使用union all代替union。
DML進(jìn)階語法

多值插入: insert into table values(....),(....)
可以一次插入多行數(shù)據(jù),減少與數(shù)據(jù)庫的交互提高效率
eg: insert into A values(4, 33), (5, 33);
覆蓋插入: replace into table values (....)
可以簡化業(yè)務(wù)邏輯的判斷
忽略插入: insert ignore into table value (....)
可以簡化業(yè)務(wù)邏輯的判斷
查詢插入: insert into table_a select * from table_b
常用于導(dǎo)表操作
insert主鍵重復(fù)則update
INSERT INTO TABLE tbl VALUES (id, col1, col2) ON DUPLICATE KEY UPDATE col2=....;
eg: insert into A values(2, 40) on duplicate key update age=40;
可以簡化前端業(yè)務(wù)邏輯的判斷
連表update
A表:id, age
B表:id, name, age
A表id與B表id關(guān)聯(lián),根據(jù)B表的age值更新A表的age。
eg: update A,B set A.age=B.age where A.id=B.id;
連表刪除
A表:id, age
B表:id, name, age
A表id與B表id關(guān)聯(lián),根據(jù)B表的age值刪除A表的數(shù)據(jù)。
eg: delete A from A,B where A.id=B.id and B.name='pw';
總結(jié)

select查詢進(jìn)階語法
order by/distinct/group by having (聚合函數(shù)) /like (%前綴后綴)
連接語法
內(nèi)連接、左連接、右連接、 Union [ALL]
DML進(jìn)階語法
insert/連表update/連表delete
2.5-內(nèi)置函數(shù)

聚合函數(shù)

聚合函數(shù)面向一組數(shù)據(jù),對數(shù)據(jù)進(jìn)行聚合運(yùn)算后返回單一的值。
MySQL聚合函數(shù)的基本語法:SELECT function(列) from 表
常用聚合函數(shù):
函數(shù) 描述
AVG() 返回列的平均值
COUNT(DISTINCT) 返回列去重后的行數(shù)
COUNT() 返回列的行數(shù)
MAX() 返回列的最大值
MIN() 返回列的最小值
SUM() 返回列的總和
GROUP_CONCAT() 返回一組值的連接字符串(MySQL獨(dú)有)
實(shí)例還是上節(jié)中的那些表

場景1:查詢每張專輯總的點(diǎn)播次數(shù)和每首歌的平均點(diǎn)播次數(shù)。

select album, sum(playcount), avg(playcount) from song_list group by album;
場景2:查詢?nèi)扛枨械淖畲蟮牟シ糯螖?shù)和最小的播放次數(shù)。

select max(playcount), min(playcount) from song_list;
場景2續(xù):查詢播放次數(shù)最多的歌曲

-- 錯(cuò)誤查法
select song_name, max(playcount) from song_list;
-- 正確查法
select song_name, playcount from song_list order by playcount desc limit 1;
select count() from song_list;
select count(1) from song_list;
select count(song_name) from song_list;
count()和count(1)基本一樣,沒有明顯的性能差異。 count(*)和count(song_name)差別在于count(song_name)會除去song_name is null的情況

場景3:顯示每張專輯的歌曲列表

select album, GROUP_CONCAT(song_name) from song_list group by album;
-- 默認(rèn)最大只能連接1024個(gè)字符,但是可以通過改數(shù)據(jù)庫參數(shù)來改變。
使用聚合函數(shù)做數(shù)據(jù)庫行列轉(zhuǎn)換

select user,
max(case when 'key'='age' then value end) age,
max(case when 'key'='sex' then value end) sex,
max(case when 'key'='dep' then value end) dep,
from tbl_test1
group by user;
預(yù)定義函數(shù)

預(yù)定義函數(shù)面向單值數(shù)據(jù),返回一對一的處理結(jié)果(聚合函數(shù)可以理解成多對一)。
預(yù)定義函數(shù)基本語法:
select function(列) from 表;
select * from 表 where 列 = function(value) ...
預(yù)定義函數(shù)-字符串函數(shù)

函數(shù) 描述
LENGTH() 返回列的字節(jié)數(shù)
CHAR_LENGTH() 返回列的字符數(shù)
TRIM()/RTRIM()/LTRIM() 去除兩邊空格/去除右邊空格/去除左邊空格
SUBSTRING(str, pos, [len]) 從pos位置截取字符串str,截取len長度
LOCATE(substr, str, [pos]) 返回substr在str字符串中的位置
REPLACE(str, from_str, to_str) 將str字符串中的from_str替換成to_str
LOWER(), UPPER() 字符串轉(zhuǎn)換為小寫/大寫
字符串函數(shù) - 實(shí)例
SELECT SUBSTRING('abcdef', 3);
-- 'cdef'
SELECT SUBSTRING('abcdef', -3);
-- 'def'
SELECT SUBSTRING('abcdef', 3, 2);
-- 'cd'
SELECT LOCATE('bar', 'foobarbar');
-- 4
SELECT LOCATE('xbar', 'foobar');
-- 0
SELECT LOCATE('bar', 'foobarbar', 5);
-- 7
預(yù)定義函數(shù)-時(shí)間處理函數(shù)

函數(shù) 描述
CURDATE() 當(dāng)前日期
CURTIME() 當(dāng)前時(shí)間
NOW() 顯示當(dāng)前時(shí)間日期(常用)
UNIX_TIMESTAMP() 當(dāng)前時(shí)間戳
DATE_FORMAT(date, format) 按指定格式顯示時(shí)間
DATE_ADD(date, INTERVAL unit) 計(jì)算指定日期向后加一段時(shí)間的日期
DATE_SUB(date, INTERVAL unit) 計(jì)算指定日期向前減一段時(shí)間的日期
實(shí)例:
SELECT NOW() + INTERVAL 1 MONTH;
SELECT NOW() - INTERVAL 1 WEEK;
預(yù)定義函數(shù)-數(shù)字處理函數(shù)

函數(shù) 描述
ABS() 返回?cái)?shù)值的絕對值
CEIL() 對小數(shù)向上取整 CEIL(1.2)=2
ROUND() 四舍五入
POW(num, n) num的n次冪 POW(2, 2)=4
FLOOR() 對小數(shù)向下取整 CELL(1.2)=1
MOD(N, M) 取模(返回n除以m的余數(shù))=N % M
RAND() 取0~1之間的一個(gè)隨機(jī)數(shù)
算數(shù)、邏輯運(yùn)算

比較運(yùn)算
函數(shù) 描述
IS, IS NOT 判定布爾值 IS True, IS NOT False, IS NULL

, >= 大于,大于等于
<, <= 小于,小于等于
= 等于
!=, <> 不等于
BETWEEN M AND N 取M和N之間的值
IN, NOT IN 檢查是否在或不在一組值之中
實(shí)例:查詢一個(gè)月內(nèi)userid為1,3,5的用戶創(chuàng)建的歌單

select from play_list where (createtime between 1427791323 and 1430383307) and userid in (1,3,5);
,/,DIV,%,MOD,-,+
NOT, AND, &&, XOR, OR, ||
2.6-觸發(fā)器與存儲過程

觸發(fā)器

是什么
觸發(fā)器是加在表上的一個(gè)特殊程序,當(dāng)表上出現(xiàn)特定的事件(INSERT/UPDATE/DELETE)時(shí)觸發(fā)該程序執(zhí)行。
做什么
數(shù)據(jù)訂正;遷移表;實(shí)現(xiàn)特定的業(yè)務(wù)邏輯。
觸發(fā)器-基本語法

CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_body t

trigger_time: { BEFORE | AFTER }
trigger_event: { INSERT | UPDATE | DELETE }
觸發(fā)器-實(shí)例

學(xué)生表:

CREATE TABLE stu (
name varchar(50),
course varchar(50),
score int(11),
PRIMARY KEY (name)
) ENGINE=InnoDB;
用于更正成績的觸發(fā)器:

DELIMITER //
CREATE TRIGGER trg_upd_score
BEFORE UPDATE ON stu
FOR EACH ROW
BEGIN
IF NEW.score < 0 THEN
SET NEW.score = 0;
ELSEIF NEW.score > 100 THEN
SET NEW.score = 100;
END IF;
END; //
DELIMITER ;
注意事項(xiàng)

觸發(fā)器對性能有損耗,應(yīng)慎重使用。
同一類事件在一個(gè)表中只能創(chuàng)建一次。
對于事務(wù)表,觸發(fā)器執(zhí)行失敗則整個(gè)語句回滾。
Row格式的主從復(fù)制,觸發(fā)器不會在從庫上執(zhí)行。
使用觸發(fā)器時(shí)應(yīng)防止遞歸執(zhí)行。
存儲過程

定義:存儲過程是存儲在數(shù)據(jù)庫的一組SQL語句集,用戶可以通過存儲過程名和傳參多次調(diào)用的程序模塊。
特點(diǎn):
使用靈活,可以使用流控制語句,自定義變量等完成復(fù)雜的業(yè)務(wù)邏輯。
提高數(shù)據(jù)安全性,屏蔽應(yīng)用程序直接對表的操作,易于進(jìn)行審計(jì)。
減少網(wǎng)絡(luò)傳輸。
提高代碼維護(hù)的復(fù)雜度,實(shí)際使用中要評估場景是否適合。
存儲過程-基本語法

CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body

proc_parameter:
[ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| [NOT] DETERMINISTIC
routine_body:
Valid SQL routine statement
存儲過程-實(shí)例

CREATE PROCEDURE proc_test1
(IN total INT, OUT res INT)
BEGIN
DECLARE i INT;
SET i = 1;
SET res = 1;
IF total <= 0 THEN
SET total = 1;
END IF;
WHILE i <= total DO
SET res = res * i;
INSERT INTO tbl_proc_test(num) VALUES (res);
SET i = i + 1;
END WHILE;
END;
存儲過程-流控制語句

流控制 描述
IF IF search_condition THEN statement_list [ELSEIF search_condition THEN statement_list][ELSE statement_list] END IF
CASE CASE case_value WHEN when_value THEN statement_list [ELSE statement_list] END CASE
WHILE WHILE search_condition DO statement_list END WHILE
REPEAT REPEAT statement_list UNTIL search_condition END REPEAT
存儲過程-調(diào)用

set @total=10;
set @res=1;
call proc_test1(@total, @res);
select @res;
自定義函數(shù)

自定義函數(shù)與存儲過程類似,但是必須帶有返回值(RETURN)。
自定義函數(shù)與sum(), max()等MySQL原生函數(shù)使用方法類似:
SELECT func(val);
SELECT * from tbl where col=func(val);
由于自定義函數(shù)可能在遍歷數(shù)據(jù)中使用,要注意性能損耗
自定義函數(shù)-基本語法

CREATE
[DEFINER = { user | CURRENT_USER}]
FUNCTION sp_name ([func_parameter[,...]])
RETURNS type
[characteristic ...] routine_body
func_parameter:
param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| [NOT] DETERMINISTIC
routine_body:
Valid SQL routine statement
自定義函數(shù)-實(shí)例

CREATE FUNCTION func_test1 (total INT)
RETURNS INT
BEGIN
DECLARE i INT;
DECLARE res INT;
SET i = 1;
SET res = 1;
IF total <= 0 THEN
SET total = 1;
END IF;
WHILE i < total DO
SET res = res * i;
SET i = i + 1;
END WHILE;
RETURN res;
END;
自定義函數(shù)-調(diào)用

select func_test1(4);
小結(jié)

知識點(diǎn):觸發(fā)器、存儲過程、自定義函數(shù)
互聯(lián)網(wǎng)場景:觸發(fā)器和存儲過程不利于水平擴(kuò)展,多用于統(tǒng)計(jì)和運(yùn)維操作中。
2.7-MySQL字符集

字符集基礎(chǔ)

字符集:數(shù)據(jù)庫中的字符集包含兩層含義
各種文字和符號的集合,包括各國家文字、標(biāo)點(diǎn)符號、圖形符號、數(shù)字等。
字符的編碼方式,即二進(jìn)制數(shù)據(jù)與字符的映射規(guī)則。
字符集-分類

ASCII:美國信息互換標(biāo)準(zhǔn)編碼;英語和其他西歐語言;單字節(jié)編碼,7位表示一個(gè)字符,共128字符。
GBK:漢字內(nèi)碼擴(kuò)展規(guī)范;中日韓漢字、英文、數(shù)字;雙字節(jié)編碼;共收錄了21003個(gè)漢字,GB2312的擴(kuò)展。
UTF-8:Unicode標(biāo)準(zhǔn)的可變長度字符編碼;Unicode標(biāo)準(zhǔn)(統(tǒng)一碼),業(yè)界統(tǒng)一標(biāo)準(zhǔn),包括世界上數(shù)十種文字的系統(tǒng);UTF-8使用一至四個(gè)字節(jié)為每個(gè)字符編碼。
其他常見字符集:UTF-32,UTF-16,Big5,latin1
MySQL字符集

查看字符集
SHOW CHARACTER SET;
新增字符集

編譯時(shí)加入: --with-charset=

./configure --prefix=/usr/local/mysql3 --with-plugins=innobase --with-charset=gbk
字符集與字符序

charset和collation
collation:字符序,字符的排序與比較規(guī)則,每個(gè)字符集都有對應(yīng)的多套字符序。
不同的字符序決定了字符串在比較排序中的精度和性能不同。
查看字符序

show collation;
mysql的字符序遵從命名慣例:以_ci(表示大小寫不敏感),以_CS(表示大小寫敏感),以_bin(表示用編碼值進(jìn)行比較)。

字符集設(shè)置級別

charset和collation的設(shè)置級別:
服務(wù)器級 >> 數(shù)據(jù)庫級 >> 表級 >> 列級
服務(wù)器級
系統(tǒng)變量(可動態(tài)設(shè)置):
character_set_server:默認(rèn)的內(nèi)部操作字符集
character_set_system:系統(tǒng)元數(shù)據(jù)(各字段名等)字符集
字符集設(shè)置級別

服務(wù)器級
配置文件

[mysqld]
character_set_server=utf8
collation_server=utf8_general_ci
數(shù)據(jù)庫級
CREATE DATABASE db_name CHARACTER SET latin1 COLLATE latin1_swedish_ci;
character_set_database:當(dāng)前選中數(shù)據(jù)庫的默認(rèn)字符集
主要影響load data等語句的默認(rèn)字符集,CREATE DATABASE的字符集如果不設(shè)置,默認(rèn)使用character_set_server的字符集。

表級
CREATE TABLE tbl1 (....) DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_bin;
列級
CREATE TABLE tbl1 (col1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci);
字符集設(shè)置級別

數(shù)據(jù)存儲字符集使用規(guī)則:
使用列集的CHARACTER SET設(shè)定值;
若列級字符集不存在,則使用對應(yīng)表級的DEFAULT CHARACTER SET設(shè)定值;
若表級字符集不存在,則使用數(shù)據(jù)庫級的DEFAULT CHARACTER SET設(shè)定值;
若數(shù)據(jù)庫級字符集不存在,則使用服務(wù)器級character_set_server設(shè)定值。
-- 查看字符集
show [global] variables like 'character%';
show [global] variables like 'collation%';

-- 修改字符集
set global character_set_server=utf8; -- 全局
alter table xxx convert to character set xxx; -- 表
客戶端連接與字符集

連接與字符集
character_set_client:客戶端來源數(shù)據(jù)使用的字符集。
character_set_connection:連接層字符集。
character_set_results:查詢結(jié)果字符集。
mysql > set names utf8;

配置文件設(shè)置:
[mysql]
default-character-set=utf8
字符轉(zhuǎn)換過程
client > character_set_client > character_set_connection > Storage > character_set_results >client

推薦使用統(tǒng)一的字符集

常見亂碼原因:

數(shù)據(jù)存儲字符集不能正確編碼(不支持)client發(fā)來的數(shù)據(jù):client(utf8)->Storage(latin1)
程序連接使用的字符集與通知mysql的character_set_client等不一致或不兼容。
使用建議

創(chuàng)建數(shù)據(jù)庫/表時(shí)顯式的指定字符集,不使用默認(rèn)。
連接字符集與存儲字符集設(shè)置一致,推薦使用utf8。
驅(qū)動程序連接時(shí)顯式指定字符集(set names XXX).
mysql CAPI:初始化數(shù)據(jù)庫句柄后馬上用mysql_options設(shè)定MYSQL_CHARSET_NAME屬性為utf8.

mysql php API:連接到數(shù)據(jù)庫以后顯式用SET NAMES語句設(shè)置一次連接字符集。

mysql JDBC: url="jdbc:mysql://localhost:3306/blog_dbo?user=xx&password=xx&userUnicode=true&characterEncoding=utf8"

小結(jié)

字符集:表示的字符集和/字符編碼方式
字符的設(shè)置級別:服務(wù)器/數(shù)據(jù)庫/表/列
客戶端字符集:亂碼產(chǎn)生的原因與解決方式
2.8程序連接MySQL

程序連接MySQL基本原理

JDBC客戶端應(yīng)用 -> java.sql.或javax.sql. -> 驅(qū)動程序 -> SQLserver/Oracle/MySQL

Java代碼示例

結(jié)構(gòu):

DriverManager -> Driver(是驅(qū)動程序?qū)ο蟮慕涌?#xff0c;指向具體數(shù)據(jù)庫驅(qū)動程序?qū)ο?=DriverManager.getDriver(String URL) -> Connectinon(是連接對象接口,指向具體數(shù)據(jù)庫連接對象)=DriverManager.getConnection(String URL) -> Statement(執(zhí)行靜態(tài)SQL語句接口)=Connection.CreateStatement() -> ResultSet(是指向結(jié)果集對象的接口)=Statement.excuteXXX()

import java.sql.*;

/**

  • 使用JDBC連接MySQL
    */
    public class DBTest {

    public static Connection getConnection() throws SQLException,
    java.lang.ClassNotFoundException
    {
    //第一步:加載MySQL的JDBC的驅(qū)動
    Class.forName("com.mysql.jdbc.Driver");

    //設(shè)置MySQL連接字符串,要訪問的MySQL數(shù)據(jù)庫 ip,端口,用戶名,密碼 String url = "jdbc:mysql://localhost:3306/blog"; String username = "blog_user"; String password = "blog_pwd";//第二步:創(chuàng)建與MySQL數(shù)據(jù)庫的連接類的實(shí)例 Connection con = DriverManager.getConnection(url, username, password); return con;

    }

    public static void main(String args[]) {
    Connection con = null;
    try
    {
    //第三步:獲取連接類實(shí)例con,用con創(chuàng)建Statement對象類實(shí)例 sql_statement
    con = getConnection();
    Statement sql_statement = con.createStatement();

    /************ 對數(shù)據(jù)庫進(jìn)行相關(guān)操作 ************/ //如果同名數(shù)據(jù)庫存在,刪除sql_statement.executeUpdate("drop table if exists user;"); //執(zhí)行了一個(gè)sql語句生成了一個(gè)名為user的表sql_statement.executeUpdate("create table user (id int not null auto_increment," +" name varchar(20) not null default 'name', age int not null default 0, primary key (id) ); ");//向表中插入數(shù)據(jù)System.out.println("JDBC 插入操作:");String sql = "insert into user(name,age) values('liming', 18)";int num = sql_statement.executeUpdate("insert into user(name,age) values('liming', 18)");System.out.println("execute sql : " + sql);System.out.println(num + " rows has changed!");System.out.println("");//第四步:執(zhí)行查詢,用ResultSet類的對象,返回查詢的結(jié)果String query = "select * from user"; ResultSet result = sql_statement.executeQuery(query);/************ 對數(shù)據(jù)庫進(jìn)行相關(guān)操作 ************/System.out.println("JDBC 查詢操作:");System.out.println("------------------------");System.out.println("userid" + " " + "name" + " " + "age ");System.out.println("------------------------");//對獲得的查詢結(jié)果進(jìn)行處理,對Result類的對象進(jìn)行操作while (result.next()){int userid = result.getInt("id");String name = result.getString("name");int age = result.getInt("age");//取得數(shù)據(jù)庫中的數(shù)據(jù)System.out.println(" " + userid + " " + name + " " + age); }//關(guān)閉 result,sql_statementresult.close();sql_statement.close();//使用PreparedStatement更新記錄sql = "update user set age=? where name=?;";PreparedStatement pstmt = con.prepareStatement(sql);//設(shè)置綁定變量的值pstmt.setInt(1, 15);pstmt.setString(2, "liming");//執(zhí)行操作num = pstmt.executeUpdate();System.out.println("");System.out.println("JDBC 更新操作:");System.out.println("execute sql : " + sql);System.out.println(num + " rows has changed!");//關(guān)閉PreparedStatementpstmt.close();//流式讀取result,row-by-rowquery = "select * from user"; PreparedStatement ps = (PreparedStatement) con.prepareStatement(query,ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); ps.setFetchSize(Integer.MIN_VALUE); result = ps.executeQuery(); /************ 對數(shù)據(jù)庫進(jìn)行相關(guān)操作 ************/System.out.println("JDBC 查詢操作:");System.out.println("------------------------");System.out.println("userid" + " " + "name" + " " + "age ");System.out.println("------------------------");//對獲得的查詢結(jié)果進(jìn)行處理,對Result類的對象進(jìn)行操作while (result.next()){int userid = result.getInt("id");String name = result.getString("name");int age = result.getInt("age");//取得數(shù)據(jù)庫中的數(shù)據(jù)System.out.println(" " + userid + " " + name + " " + age); }//關(guān)閉 result,psresult.close();ps.close();con.close();} catch(java.lang.ClassNotFoundException e) {//加載JDBC錯(cuò)誤,所要用的驅(qū)動沒有找到System.err.print("ClassNotFoundException");//其他錯(cuò)誤System.err.println(e.getMessage()); } catch (SQLException ex) {//顯示數(shù)據(jù)庫連接錯(cuò)誤或查詢錯(cuò)誤System.err.println("SQLException: " + ex.getMessage()); }

    }

}
JDBC使用技巧

Statement與PreparedStatement的區(qū)別
connection, Statement與ResultSet關(guān)閉的意義
jdbc連接參數(shù)的使用
ResultSet游標(biāo)的使用(setFetchSize)
Statement與PreparedStatement的區(qū)別

PreparedStatement在數(shù)據(jù)庫端預(yù)編譯,效率高,可以防止SQL注入。
對數(shù)據(jù)庫執(zhí)行一次性存取的時(shí)候,用Statement對象進(jìn)行處理。
線上業(yè)務(wù)推薦使用PreparedStatement.
PreparedStatement背后的故事

PREPARE -> EXECUTE -> DEALLOCATE PREPARE

PREPARE stmt1 FROM 'SELECT productCode, productName
From products
WHERE productCode = ?';
SET @pc = 'S10_1678';
EXECUTE stmt1 USING @pc;

DEALLOCATE PREPARE stmt1;
connection, Statement與ResultSet關(guān)閉的意義

MySQL數(shù)據(jù)庫端為connection與ResultSet維護(hù)內(nèi)存狀態(tài),一直不關(guān)閉會占用服務(wù)端資源。
MySQL最大連接數(shù)受max_connections限制,不能無限創(chuàng)建連接,所以用完要及時(shí)關(guān)閉。
JDBC connection關(guān)閉后ResultSet, Statement會自動關(guān)閉。但是如果使用連接池將不會關(guān)閉,因此推薦主動關(guān)閉。
jdbc連接參數(shù)的使用

字符集設(shè)置:
url="jdbc:mysql://localhost:3306/blog_dbo?userUnicode=true&characterEncoding=utf8";

超時(shí)設(shè)置:
url="jdbc:mysql://localhost:3306/blog_dbo?connectionTimeout=1000&socketTimeout=30000";

ResultSet游標(biāo)的使用

默認(rèn)的ResultSet對象不可更新,僅有一個(gè)向前移動的指針。因此,只能迭代它一次,并且只能按從第一行到最后一行的順序進(jìn)行。可以生成可滾動和/或可更新的ResultSet對象。
setFetchSize()是設(shè)置ResultSet每次向數(shù)據(jù)庫取的行數(shù),防止數(shù)據(jù)返回量過大將內(nèi)存爆掉。
Python連接MySQL

Python:腳本語言,無需編譯、易開發(fā)
DBA使用Python的一般場景是編寫自動化運(yùn)維工具、報(bào)表、數(shù)據(jù)遷移
Python MySQL驅(qū)動:python-mysqldb
import MySQLdb

建立和mysql數(shù)據(jù)庫的連接

conn = MySQLdb.connect(host='localhost', port=3306,user='bloguser',passwd='xxxx')

獲取游標(biāo)

curs = conn.cursor()

選擇數(shù)據(jù)庫

conn.select_db('blog')

執(zhí)行SQL,創(chuàng)建一個(gè)表

curs.execute("create table blog (id int, name varchar(200))")

插入一條記錄

value = [1, 'user1']
curs.execute("insert into blog values(%s, %s)", value)

插入多條記錄

values = [(2, "user2"), (3, "user3")]
curs.executemany("insert into blog values(%s, %s)", values)

提交

conn.commit()

關(guān)閉游標(biāo)

curs.close()

關(guān)閉連接

conn.close()
2.9-DAO框架的使用

DAO框架

在應(yīng)用程序中使用數(shù)據(jù)訪問對象(DAO),使我們可以將底層數(shù)據(jù)訪問邏輯與業(yè)務(wù)邏輯分離開來。DAO框架構(gòu)建了為每一個(gè)數(shù)據(jù)源提供CRUD(創(chuàng)建、讀取、更新、刪除)操作的類。
DAO模式是標(biāo)準(zhǔn)J2EE設(shè)計(jì)模式之一。開發(fā)人員用這種模式將底層數(shù)據(jù)訪問操作與高層業(yè)務(wù)邏輯分離開。一個(gè)典型的DAO框架實(shí)現(xiàn)有以下組操作:
一個(gè)DAO工廠類
一個(gè)DAO接口(select/insert/delete/update)
一個(gè)實(shí)現(xiàn)了DAO接口的具體類
數(shù)據(jù)傳輸對象
DAO框架的特點(diǎn)

屏蔽底層數(shù)據(jù)訪問細(xì)節(jié),實(shí)現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯的分離。
簡化代碼開發(fā),提高代碼復(fù)用率。
相較于原生的SQL可能會帶來額外的 性能損耗(利用反射機(jī)制封裝對象,SQL轉(zhuǎn)換等)
MyBatis簡介

MyBatis是一個(gè)主流的DAO框架,是apache的一個(gè)開源項(xiàng)目iBatis的升級版。
MyBatis支持普通SQL查詢,存儲過程和高級映射,消除就幾乎所有JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。
接口豐富、使用簡單
相較于hibernate更加輕量級,支持原生的sql語句。
支持查詢緩存
MyBatis代碼示例

環(huán)境搭建,數(shù)據(jù)源于映射配置文件的編寫
單值、多值查詢
增刪改數(shù)據(jù)
連表查詢
示例代碼在sorence/DAO框架代碼示例.rar

MyBatis工作流程

加載配置并初始化,內(nèi)部生成MappedStatement對象。
調(diào)用MyBatis提供的API(SqlSession.select/insert....),將SQL ID與數(shù)據(jù)對象傳遞給處理層。
處理層解析MappedStatement對象,獲取MySQL的連接,執(zhí)行相應(yīng)的SQL語句,接收返回結(jié)果。
MyBatis將接收到的返回結(jié)果封裝成對應(yīng)的數(shù)據(jù)對象返回。
MyBatis使用技巧

區(qū)分#{}和${}的不同應(yīng)用場景: #{}會生成預(yù)編譯SQL,會正確的處理數(shù)據(jù)的類型,而${}僅僅是文本替換。
注意MyBatis封裝數(shù)據(jù)時(shí)的性能損耗: 只返回需要的行數(shù)和字段。
使用MyBatis自帶的連接池功能: <dataSource type="POOLED">

轉(zhuǎn)載于:https://blog.51cto.com/8999a/2044499

總結(jié)

以上是生活随笔為你收集整理的数据库MYSQL学习系列二的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

www成人国产高清内射 | 国产亚洲tv在线观看 | av人摸人人人澡人人超碰下载 | 精品国产精品久久一区免费式 | 少妇被黑人到高潮喷出白浆 | 亚洲爆乳精品无码一区二区三区 | 女人被男人躁得好爽免费视频 | 高潮毛片无遮挡高清免费 | 麻豆md0077饥渴少妇 | 中国女人内谢69xxxxxa片 | 亚洲色在线无码国产精品不卡 | 亚洲精品中文字幕久久久久 | 精品一二三区久久aaa片 | 亚洲精品国产精品乱码视色 | 亚洲欧美日韩成人高清在线一区 | 久久人人爽人人爽人人片ⅴ | 人妻aⅴ无码一区二区三区 | 中文字幕av伊人av无码av | 天堂无码人妻精品一区二区三区 | 白嫩日本少妇做爰 | 国产特级毛片aaaaaaa高清 | 乱人伦人妻中文字幕无码久久网 | 精品一区二区三区无码免费视频 | 亚洲精品中文字幕乱码 | 国产口爆吞精在线视频 | 欧美午夜特黄aaaaaa片 | 丰满少妇熟乱xxxxx视频 | 99精品无人区乱码1区2区3区 | 在线视频网站www色 | 国产成人无码专区 | 欧美激情内射喷水高潮 | 高清国产亚洲精品自在久久 | 东京一本一道一二三区 | 真人与拘做受免费视频一 | 国产人成高清在线视频99最全资源 | 国产亚洲欧美日韩亚洲中文色 | a片在线免费观看 | 亚洲精品久久久久久一区二区 | 欧美亚洲国产一区二区三区 | 国产另类ts人妖一区二区 | 午夜理论片yy44880影院 | 久久精品国产精品国产精品污 | 亚洲码国产精品高潮在线 | 国产人妖乱国产精品人妖 | 少妇性俱乐部纵欲狂欢电影 | 无码精品国产va在线观看dvd | 亚洲人亚洲人成电影网站色 | 九九综合va免费看 | 午夜福利不卡在线视频 | 熟女少妇在线视频播放 | 国产亚洲精品久久久久久大师 | 亚洲精品美女久久久久久久 | 夜精品a片一区二区三区无码白浆 | 国产亚洲精品久久久闺蜜 | 国产无套粉嫩白浆在线 | 欧美人与善在线com | 日韩人妻系列无码专区 | 亚洲精品无码人妻无码 | 亚洲一区二区三区无码久久 | 久久99久久99精品中文字幕 | 中文无码伦av中文字幕 | 国产无遮挡又黄又爽免费视频 | 人妻尝试又大又粗久久 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 在线a亚洲视频播放在线观看 | 午夜精品一区二区三区在线观看 | 久久综合狠狠综合久久综合88 | 四虎国产精品一区二区 | 欧美人与善在线com | 97久久超碰中文字幕 | 丝袜足控一区二区三区 | 成熟女人特级毛片www免费 | 亚洲无人区一区二区三区 | 野外少妇愉情中文字幕 | 欧美三级不卡在线观看 | 中文精品久久久久人妻不卡 | 内射白嫩少妇超碰 | 欧美zoozzooz性欧美 | 99麻豆久久久国产精品免费 | 日韩人妻无码一区二区三区久久99 | 国产精品自产拍在线观看 | 老子影院午夜精品无码 | 东京无码熟妇人妻av在线网址 | 六月丁香婷婷色狠狠久久 | 国产亚洲精品久久久久久 | av无码久久久久不卡免费网站 | 99麻豆久久久国产精品免费 | 欧美性色19p | www国产亚洲精品久久久日本 | 丰满少妇熟乱xxxxx视频 | 久久www免费人成人片 | 国产sm调教视频在线观看 | 正在播放东北夫妻内射 | 狠狠综合久久久久综合网 | 性色欲情网站iwww九文堂 | 国产色视频一区二区三区 | 给我免费的视频在线观看 | 成年女人永久免费看片 | 无码纯肉视频在线观看 | 久久精品女人天堂av免费观看 | 免费国产成人高清在线观看网站 | 性开放的女人aaa片 | 青春草在线视频免费观看 | 日韩 欧美 动漫 国产 制服 | 国内丰满熟女出轨videos | 欧美性生交活xxxxxdddd | 免费无码午夜福利片69 | 色窝窝无码一区二区三区色欲 | 色狠狠av一区二区三区 | 欧美野外疯狂做受xxxx高潮 | 亚洲国产成人av在线观看 | 国产精品无码永久免费888 | 欧美日韩久久久精品a片 | 亚洲一区二区三区国产精华液 | 亚洲一区二区三区在线观看网站 | 亚洲一区二区三区在线观看网站 | 性色欲情网站iwww九文堂 | 亚洲中文字幕在线观看 | 欧美日本精品一区二区三区 | 青草视频在线播放 | 内射白嫩少妇超碰 | 精品国精品国产自在久国产87 | 国产精品欧美成人 | 亚洲区欧美区综合区自拍区 | 激情国产av做激情国产爱 | 又粗又大又硬又长又爽 | 狠狠亚洲超碰狼人久久 | 波多野42部无码喷潮在线 | 久青草影院在线观看国产 | 国产电影无码午夜在线播放 | 国产女主播喷水视频在线观看 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲欧美精品aaaaaa片 | 高潮毛片无遮挡高清免费视频 | 永久免费观看美女裸体的网站 | 久久综合九色综合欧美狠狠 | 宝宝好涨水快流出来免费视频 | 日韩精品无码一区二区中文字幕 | 99久久99久久免费精品蜜桃 | 国产精品国产三级国产专播 | 免费无码的av片在线观看 | 日日麻批免费40分钟无码 | 亚洲一区二区三区国产精华液 | 麻花豆传媒剧国产免费mv在线 | 无码国产乱人伦偷精品视频 | 日韩无套无码精品 | 国产精品无码一区二区桃花视频 | 无码av岛国片在线播放 | 日本精品高清一区二区 | 欧美日韩色另类综合 | 色老头在线一区二区三区 | 国产亚洲视频中文字幕97精品 | 精品久久久久香蕉网 | 国产成人无码区免费内射一片色欲 | 亚洲精品国产第一综合99久久 | www国产精品内射老师 | 久久精品视频在线看15 | 国产农村妇女高潮大叫 | 色噜噜亚洲男人的天堂 | 天堂亚洲2017在线观看 | 日本一本二本三区免费 | 老太婆性杂交欧美肥老太 | 国产sm调教视频在线观看 | 无码吃奶揉捏奶头高潮视频 | 日本一本二本三区免费 | 精品久久久中文字幕人妻 | 亚洲中文字幕在线无码一区二区 | 蜜桃无码一区二区三区 | 综合人妻久久一区二区精品 | 无码帝国www无码专区色综合 | 久久伊人色av天堂九九小黄鸭 | 无码精品国产va在线观看dvd | 国语精品一区二区三区 | 美女扒开屁股让男人桶 | 丰满少妇女裸体bbw | 久久综合色之久久综合 | 无遮挡国产高潮视频免费观看 | 国产精品美女久久久久av爽李琼 | 特大黑人娇小亚洲女 | 女人被男人爽到呻吟的视频 | 男女性色大片免费网站 | 十八禁真人啪啪免费网站 | 女人被男人爽到呻吟的视频 | 人妻天天爽夜夜爽一区二区 | 熟妇人妻无乱码中文字幕 | 色窝窝无码一区二区三区色欲 | 曰本女人与公拘交酡免费视频 | 亚洲精品一区国产 | 亚洲男人av天堂午夜在 | 亚洲国产av精品一区二区蜜芽 | 久久亚洲日韩精品一区二区三区 | 日本www一道久久久免费榴莲 | 精品国偷自产在线 | 亚洲日韩av一区二区三区中文 | 国产人妻精品午夜福利免费 | 日本一区二区三区免费高清 | 日日摸夜夜摸狠狠摸婷婷 | 又色又爽又黄的美女裸体网站 | av无码久久久久不卡免费网站 | 无码人妻丰满熟妇区毛片18 | 亚洲经典千人经典日产 | 97久久精品无码一区二区 | 波多野结衣 黑人 | 无码人妻精品一区二区三区下载 | 乱人伦人妻中文字幕无码久久网 | 亚洲国产精品久久人人爱 | 亚洲一区二区三区含羞草 | 99精品国产综合久久久久五月天 | 人人妻人人澡人人爽人人精品 | 国产97在线 | 亚洲 | 强辱丰满人妻hd中文字幕 | 久久99精品国产麻豆 | 国产精品二区一区二区aⅴ污介绍 | 麻豆果冻传媒2021精品传媒一区下载 | 国产在线精品一区二区三区直播 | 真人与拘做受免费视频一 | 99精品国产综合久久久久五月天 | 中文字幕av伊人av无码av | 欧美高清在线精品一区 | 中文字幕中文有码在线 | 精品成人av一区二区三区 | 久久久久av无码免费网 | 日日躁夜夜躁狠狠躁 | 一本大道久久东京热无码av | 国产一区二区三区日韩精品 | 欧美第一黄网免费网站 | 任你躁国产自任一区二区三区 | 亚洲中文字幕va福利 | 77777熟女视频在线观看 а天堂中文在线官网 | 久久国内精品自在自线 | aa片在线观看视频在线播放 | 国产无套内射久久久国产 | 亚洲精品一区二区三区四区五区 | 欧美成人免费全部网站 | 亚洲国产欧美国产综合一区 | √8天堂资源地址中文在线 | 成人无码视频免费播放 | 无码国产乱人伦偷精品视频 | 久久亚洲精品中文字幕无男同 | 老司机亚洲精品影院 | 特大黑人娇小亚洲女 | 欧美熟妇另类久久久久久不卡 | 东京一本一道一二三区 | 国产精品爱久久久久久久 | 国产精品久久久久久亚洲毛片 | 久久精品中文闷骚内射 | www成人国产高清内射 | 无码一区二区三区在线观看 | 欧美成人免费全部网站 | 欧美日韩人成综合在线播放 | 精品国产一区av天美传媒 | 丰满人妻翻云覆雨呻吟视频 | 国产精品无码一区二区三区不卡 | 亚洲成av人综合在线观看 | 亚洲国产成人a精品不卡在线 | 日日天干夜夜狠狠爱 | 澳门永久av免费网站 | 国产真实乱对白精彩久久 | 樱花草在线播放免费中文 | 天天躁夜夜躁狠狠是什么心态 | 内射后入在线观看一区 | 又大又紧又粉嫩18p少妇 | 久久无码专区国产精品s | 亚洲va中文字幕无码久久不卡 | 欧洲vodafone精品性 | 亚洲一区二区三区偷拍女厕 | 5858s亚洲色大成网站www | 在线精品亚洲一区二区 | 国产suv精品一区二区五 | 久久亚洲精品中文字幕无男同 | 久久人人爽人人人人片 | 亚洲中文字幕成人无码 | 图片小说视频一区二区 | 九月婷婷人人澡人人添人人爽 | av在线亚洲欧洲日产一区二区 | 亚洲精品成人福利网站 | 日本大乳高潮视频在线观看 | 男女下面进入的视频免费午夜 | 性欧美大战久久久久久久 | 亚洲欧美精品伊人久久 | 精品aⅴ一区二区三区 | 成熟人妻av无码专区 | 激情爆乳一区二区三区 | 午夜丰满少妇性开放视频 | 国产成人一区二区三区别 | 高潮喷水的毛片 | 成人欧美一区二区三区黑人免费 | 亚洲经典千人经典日产 | 欧美成人免费全部网站 | 欧美精品在线观看 | 丰满人妻精品国产99aⅴ | 日日碰狠狠丁香久燥 | 丰满诱人的人妻3 | 波多野结衣aⅴ在线 | 无码一区二区三区在线观看 | 国产精品久久久午夜夜伦鲁鲁 | 97夜夜澡人人双人人人喊 | 人人妻人人藻人人爽欧美一区 | 精品人妻中文字幕有码在线 | 日日夜夜撸啊撸 | 久久综合狠狠综合久久综合88 | 国产精品亚洲一区二区三区喷水 | 免费观看又污又黄的网站 | 国产人妻大战黑人第1集 | 亚洲区欧美区综合区自拍区 | 青青久在线视频免费观看 | 亚洲色欲久久久综合网东京热 | 亚洲欧美精品伊人久久 | 在线亚洲高清揄拍自拍一品区 | 免费国产成人高清在线观看网站 | 亚洲大尺度无码无码专区 | 18无码粉嫩小泬无套在线观看 | 成人三级无码视频在线观看 | 日本精品人妻无码77777 天堂一区人妻无码 | 四十如虎的丰满熟妇啪啪 | 荡女精品导航 | 内射爽无广熟女亚洲 | 四虎4hu永久免费 | 国产片av国语在线观看 | 亚洲va欧美va天堂v国产综合 | 久久久久成人精品免费播放动漫 | 一个人看的www免费视频在线观看 | 熟妇人妻激情偷爽文 | 亚洲小说春色综合另类 | 国产成人亚洲综合无码 | 国产成人午夜福利在线播放 | 精品一二三区久久aaa片 | 少妇被黑人到高潮喷出白浆 | 最近中文2019字幕第二页 | 青草青草久热国产精品 | 中文字幕无码av波多野吉衣 | 久久久久久a亚洲欧洲av冫 | 蜜桃av抽搐高潮一区二区 | 无套内谢的新婚少妇国语播放 | 亚洲熟悉妇女xxx妇女av | 67194成是人免费无码 | 日日噜噜噜噜夜夜爽亚洲精品 | 日本熟妇大屁股人妻 | 中文字幕无码日韩欧毛 | 国产亚洲tv在线观看 | 无码人妻黑人中文字幕 | 俺去俺来也在线www色官网 | 国产手机在线αⅴ片无码观看 | 精品一区二区三区无码免费视频 | 国产精品久久精品三级 | 人妻插b视频一区二区三区 | 久久国产精品精品国产色婷婷 | 18禁黄网站男男禁片免费观看 | 国产成人午夜福利在线播放 | 又大又硬又黄的免费视频 | 国产av无码专区亚洲a∨毛片 | 精品无码国产一区二区三区av | 2020最新国产自产精品 | 日本一区二区三区免费播放 | 国产精品二区一区二区aⅴ污介绍 | 麻豆精品国产精华精华液好用吗 | 99国产欧美久久久精品 | 荫蒂添的好舒服视频囗交 | 国产电影无码午夜在线播放 | 老子影院午夜伦不卡 | 久久综合久久自在自线精品自 | 国产精品二区一区二区aⅴ污介绍 | 欧洲欧美人成视频在线 | 国产猛烈高潮尖叫视频免费 | 永久免费精品精品永久-夜色 | 国产精品久久久久久无码 | 色婷婷久久一区二区三区麻豆 | 国产一区二区三区影院 | 性欧美疯狂xxxxbbbb | 欧美黑人性暴力猛交喷水 | 国产成人精品三级麻豆 | 中文字幕av伊人av无码av | 国内精品人妻无码久久久影院蜜桃 | 欧美精品一区二区精品久久 | 亚洲精品无码国产 | 亚洲国产精品一区二区美利坚 | 久久久久久久久888 | 中文字幕无码日韩欧毛 | 少妇厨房愉情理9仑片视频 | 精品久久综合1区2区3区激情 | 精品成人av一区二区三区 | 夜夜躁日日躁狠狠久久av | 三级4级全黄60分钟 | 国产舌乚八伦偷品w中 | 99久久久无码国产aaa精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 天堂无码人妻精品一区二区三区 | 无码毛片视频一区二区本码 | 欧美熟妇另类久久久久久多毛 | 精品国产国产综合精品 | 成人免费视频在线观看 | 色婷婷欧美在线播放内射 | 99精品视频在线观看免费 | 在线成人www免费观看视频 | 成人欧美一区二区三区黑人 | 亚洲中文字幕av在天堂 | 国产极品视觉盛宴 | 兔费看少妇性l交大片免费 | 久激情内射婷内射蜜桃人妖 | 九九综合va免费看 | 国产人妖乱国产精品人妖 | 九九热爱视频精品 | 蜜臀av无码人妻精品 | 成人免费视频一区二区 | 狂野欧美性猛xxxx乱大交 | 国产人妻精品一区二区三区 | 国产美女极度色诱视频www | 激情亚洲一区国产精品 | 国产明星裸体无码xxxx视频 | 野狼第一精品社区 | 国产香蕉尹人综合在线观看 | 天天综合网天天综合色 | www国产亚洲精品久久网站 | 人妻插b视频一区二区三区 | 强辱丰满人妻hd中文字幕 | 国产一区二区三区日韩精品 | 久久97精品久久久久久久不卡 | 日韩精品无码一区二区中文字幕 | 妺妺窝人体色www在线小说 | 999久久久国产精品消防器材 | av无码久久久久不卡免费网站 | 久久综合网欧美色妞网 | 国产成人一区二区三区别 | 亚洲人成网站免费播放 | 色老头在线一区二区三区 | 成人无码视频在线观看网站 | 少妇性l交大片 | 99麻豆久久久国产精品免费 | av无码电影一区二区三区 | 97久久超碰中文字幕 | 国产明星裸体无码xxxx视频 | 久久久久久亚洲精品a片成人 | 国产精品久久久av久久久 | 国产精品久久国产三级国 | 国产精品免费大片 | 成熟女人特级毛片www免费 | 精品偷拍一区二区三区在线看 | 精品厕所偷拍各类美女tp嘘嘘 | 久久国产精品二国产精品 | 久久99精品国产.久久久久 | 樱花草在线社区www | 国产人妻精品一区二区三区 | 六月丁香婷婷色狠狠久久 | 久久精品国产精品国产精品污 | 377p欧洲日本亚洲大胆 | 激情内射日本一区二区三区 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲日韩av一区二区三区中文 | 久久国产精品_国产精品 | 99er热精品视频 | 国产熟女一区二区三区四区五区 | 国产无套内射久久久国产 | 欧美一区二区三区 | 玩弄人妻少妇500系列视频 | 青草视频在线播放 | 国产成人人人97超碰超爽8 | 伊人色综合久久天天小片 | 麻花豆传媒剧国产免费mv在线 | 无码中文字幕色专区 | 午夜理论片yy44880影院 | 俺去俺来也在线www色官网 | 欧美猛少妇色xxxxx | 成人亚洲精品久久久久 | 亚洲欧美日韩国产精品一区二区 | 蜜桃av抽搐高潮一区二区 | 亚洲国产欧美日韩精品一区二区三区 | 日日摸天天摸爽爽狠狠97 | 蜜桃av抽搐高潮一区二区 | 国产精品高潮呻吟av久久4虎 | 激情内射日本一区二区三区 | 日本一区二区三区免费高清 | 婷婷色婷婷开心五月四房播播 | 久久亚洲精品成人无码 | 美女扒开屁股让男人桶 | 成人精品视频一区二区三区尤物 | 亚洲の无码国产の无码步美 | 曰韩无码二三区中文字幕 | 亚洲欧洲日本无在线码 | 人妻少妇被猛烈进入中文字幕 | 国产成人无码一二三区视频 | 红桃av一区二区三区在线无码av | 一二三四社区在线中文视频 | 伊人久久大香线蕉午夜 | 狂野欧美性猛xxxx乱大交 | 波多野结衣乳巨码无在线观看 | 无套内谢的新婚少妇国语播放 | 在线看片无码永久免费视频 | 久久午夜无码鲁丝片午夜精品 | 欧美日韩亚洲国产精品 | 国产午夜亚洲精品不卡下载 | 国产艳妇av在线观看果冻传媒 | 亚洲精品国产精品乱码不卡 | 国产亚洲精品久久久久久久久动漫 | 日本熟妇乱子伦xxxx | 亚洲精品久久久久中文第一幕 | 久久精品女人天堂av免费观看 | www一区二区www免费 | 久久综合给久久狠狠97色 | 一本久久a久久精品vr综合 | 色狠狠av一区二区三区 | 国产两女互慰高潮视频在线观看 | 国产人妻久久精品二区三区老狼 | 亚洲自偷精品视频自拍 | 国产精品va在线观看无码 | 日韩欧美成人免费观看 | aa片在线观看视频在线播放 | 婷婷丁香六月激情综合啪 | 日韩欧美成人免费观看 | 欧美成人午夜精品久久久 | 四虎永久在线精品免费网址 | 少妇性l交大片欧洲热妇乱xxx | 中文字幕人妻丝袜二区 | 国产精品爱久久久久久久 | 国产精品99爱免费视频 | 欧美日本免费一区二区三区 | 欧美成人免费全部网站 | 日本乱人伦片中文三区 | 成人一在线视频日韩国产 | 亚洲欧美日韩综合久久久 | 中文字幕av无码一区二区三区电影 | 老头边吃奶边弄进去呻吟 | 国产内射爽爽大片视频社区在线 | 麻花豆传媒剧国产免费mv在线 | 久久久精品国产sm最大网站 | 国产成人精品优优av | 天海翼激烈高潮到腰振不止 | 成人aaa片一区国产精品 | 国产后入清纯学生妹 | 欧美人妻一区二区三区 | 亚洲精品一区二区三区在线 | 日本精品久久久久中文字幕 | 人人妻人人澡人人爽欧美精品 | 日本熟妇人妻xxxxx人hd | 色综合久久中文娱乐网 | 性欧美牲交xxxxx视频 | 强开小婷嫩苞又嫩又紧视频 | 国产成人无码a区在线观看视频app | 中文字幕日韩精品一区二区三区 | 免费观看激色视频网站 | 欧美日韩一区二区综合 | 久久国内精品自在自线 | 亚洲国产精品美女久久久久 | 荫蒂被男人添的好舒服爽免费视频 | 人人妻人人澡人人爽欧美精品 | 少妇性l交大片欧洲热妇乱xxx | 国产婷婷色一区二区三区在线 | 久精品国产欧美亚洲色aⅴ大片 | 无码人妻少妇伦在线电影 | 国产内射爽爽大片视频社区在线 | 成人aaa片一区国产精品 | 扒开双腿疯狂进出爽爽爽视频 | 国产激情精品一区二区三区 | 国产成人精品无码播放 | 国产精品毛多多水多 | 日本xxxx色视频在线观看免费 | 久久人人爽人人爽人人片av高清 | 日韩精品成人一区二区三区 | а√资源新版在线天堂 | 中文字幕无码日韩专区 | 日本护士xxxxhd少妇 | 国产成人无码区免费内射一片色欲 | 天堂久久天堂av色综合 | 免费看男女做好爽好硬视频 | 亚洲欧美精品aaaaaa片 | 午夜精品一区二区三区在线观看 | 全球成人中文在线 | 麻豆国产人妻欲求不满谁演的 | 青青青爽视频在线观看 | 欧美日韩视频无码一区二区三 | 欧美肥老太牲交大战 | 人妻aⅴ无码一区二区三区 | 亚洲色成人中文字幕网站 | 国产九九九九九九九a片 | 日日天日日夜日日摸 | 国产精品久久久久7777 | 色妞www精品免费视频 | 色综合久久中文娱乐网 | 日韩成人一区二区三区在线观看 | 欧美日韩一区二区免费视频 | 色综合久久久久综合一本到桃花网 | 亚洲另类伦春色综合小说 | 亚洲国产日韩a在线播放 | 熟女俱乐部五十路六十路av | 国产精品成人av在线观看 | 欧洲熟妇色 欧美 | 澳门永久av免费网站 | 国产成人久久精品流白浆 | 国产在线精品一区二区高清不卡 | 亚洲综合精品香蕉久久网 | 无码人中文字幕 | 亚洲熟妇色xxxxx欧美老妇y | 人妻天天爽夜夜爽一区二区 | 人人爽人人爽人人片av亚洲 | 激情亚洲一区国产精品 | 久久久精品欧美一区二区免费 | 国产免费无码一区二区视频 | 无码av岛国片在线播放 | 大肉大捧一进一出视频出来呀 | 美女毛片一区二区三区四区 | 鲁大师影院在线观看 | 国产午夜无码视频在线观看 | 日本一本二本三区免费 | 帮老师解开蕾丝奶罩吸乳网站 | 99久久人妻精品免费二区 | 国产成人一区二区三区在线观看 | 夜夜高潮次次欢爽av女 | 夜夜躁日日躁狠狠久久av | 清纯唯美经典一区二区 | 欧美 日韩 人妻 高清 中文 | 欧美午夜特黄aaaaaa片 | 5858s亚洲色大成网站www | 牲欲强的熟妇农村老妇女视频 | 国产美女精品一区二区三区 | 色 综合 欧美 亚洲 国产 | 精品国产一区二区三区四区在线看 | 在线а√天堂中文官网 | 牛和人交xxxx欧美 | 丰满肥臀大屁股熟妇激情视频 | 人人澡人人透人人爽 | 精品欧洲av无码一区二区三区 | 亚洲日本va中文字幕 | 亚洲爆乳精品无码一区二区三区 | 午夜福利一区二区三区在线观看 | 宝宝好涨水快流出来免费视频 | 欧洲精品码一区二区三区免费看 | 日本大香伊一区二区三区 | 亚洲国产av精品一区二区蜜芽 | 国产卡一卡二卡三 | 夜夜躁日日躁狠狠久久av | 精品无人国产偷自产在线 | 亚洲中文字幕无码中字 | 99久久婷婷国产综合精品青草免费 | 在线精品亚洲一区二区 | 亚洲精品国产精品乱码视色 | 久久综合香蕉国产蜜臀av | 国产三级精品三级男人的天堂 | 国产av无码专区亚洲awww | 亚洲成av人片在线观看无码不卡 | 超碰97人人做人人爱少妇 | 樱花草在线播放免费中文 | 国产一区二区三区四区五区加勒比 | 狠狠综合久久久久综合网 | 国产乱人伦av在线无码 | 国产午夜福利100集发布 | 国产suv精品一区二区五 | 性欧美大战久久久久久久 | 亚洲色大成网站www国产 | 扒开双腿疯狂进出爽爽爽视频 | 黑人巨大精品欧美黑寡妇 | 少妇被粗大的猛进出69影院 | 好男人www社区 | 精品午夜福利在线观看 | 精品aⅴ一区二区三区 | 任你躁国产自任一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 性色欲情网站iwww九文堂 | 欧美高清在线精品一区 | 国产精品办公室沙发 | 久久久久99精品国产片 | 亚洲精品久久久久久一区二区 | 99国产欧美久久久精品 | 蜜臀aⅴ国产精品久久久国产老师 | 国产麻豆精品精东影业av网站 | 中文字幕无码av激情不卡 | 国产午夜福利100集发布 | 18精品久久久无码午夜福利 | 国产成人精品无码播放 | 一本色道久久综合亚洲精品不卡 | 67194成是人免费无码 | 国产精品久久久av久久久 | 沈阳熟女露脸对白视频 | 精品偷拍一区二区三区在线看 | 国产av久久久久精东av | 亚洲第一网站男人都懂 | 亚洲精品国偷拍自产在线麻豆 | 中文字幕无码av波多野吉衣 | 国产亲子乱弄免费视频 | 亚洲成a人一区二区三区 | 2019nv天堂香蕉在线观看 | 黑人巨大精品欧美一区二区 | 初尝人妻少妇中文字幕 | 窝窝午夜理论片影院 | 亚洲国产av美女网站 | 牲欲强的熟妇农村老妇女视频 | 亚洲aⅴ无码成人网站国产app | 一本色道久久综合亚洲精品不卡 | 亚洲国产精品毛片av不卡在线 | 国产乱人伦av在线无码 | 久久97精品久久久久久久不卡 | 久久精品人人做人人综合试看 | 乱码午夜-极国产极内射 | 久久久久成人精品免费播放动漫 | 亚洲成a人片在线观看日本 | 天下第一社区视频www日本 | 成人影院yy111111在线观看 | 少妇的肉体aa片免费 | 日本一卡2卡3卡四卡精品网站 | 澳门永久av免费网站 | 国产日产欧产精品精品app | 成人动漫在线观看 | 久久久中文久久久无码 | 亚洲熟悉妇女xxx妇女av | 无码国内精品人妻少妇 | 九九在线中文字幕无码 | 真人与拘做受免费视频一 | 天天综合网天天综合色 | 草草网站影院白丝内射 | 久久人人爽人人爽人人片ⅴ | 一二三四社区在线中文视频 | 中文无码伦av中文字幕 | 日韩人妻无码中文字幕视频 | 亚洲国产精品一区二区第一页 | 久久久久久av无码免费看大片 | 精品无码成人片一区二区98 | 亚洲七七久久桃花影院 | 日日天日日夜日日摸 | 熟妇女人妻丰满少妇中文字幕 | 在线视频网站www色 | 超碰97人人射妻 | 亚洲成av人在线观看网址 | 国内精品久久毛片一区二区 | 双乳奶水饱满少妇呻吟 | 国产亚洲精品久久久久久久久动漫 | 狠狠cao日日穞夜夜穞av | 粗大的内捧猛烈进出视频 | 欧美色就是色 | 国产精品久久久久久亚洲毛片 | 亚洲男女内射在线播放 | 欧美日本精品一区二区三区 | 久久精品国产99久久6动漫 | 色诱久久久久综合网ywww | 亚洲爆乳精品无码一区二区三区 | 久久久久久av无码免费看大片 | 人人妻人人藻人人爽欧美一区 | 亚洲中文字幕va福利 | 色婷婷欧美在线播放内射 | 久久精品国产大片免费观看 | 99精品久久毛片a片 | 国产另类ts人妖一区二区 | 又湿又紧又大又爽a视频国产 | 黑人巨大精品欧美一区二区 | 国产欧美熟妇另类久久久 | 高清不卡一区二区三区 | 国产精品久久久久无码av色戒 | 国产成人无码午夜视频在线观看 | 国产精品美女久久久 | 99久久无码一区人妻 | 欧美精品免费观看二区 | 精品偷自拍另类在线观看 | 国产精品久久久午夜夜伦鲁鲁 | 鲁鲁鲁爽爽爽在线视频观看 | 久久久久久a亚洲欧洲av冫 | 98国产精品综合一区二区三区 | 99久久久国产精品无码免费 | 人人妻人人澡人人爽精品欧美 | 黑人大群体交免费视频 | 中文无码成人免费视频在线观看 | 精品国偷自产在线视频 | 成人免费视频一区二区 | 一本无码人妻在中文字幕免费 | 免费无码av一区二区 | 人妻与老人中文字幕 | 午夜无码人妻av大片色欲 | 成人欧美一区二区三区黑人 | 日韩欧美成人免费观看 | 精品欧美一区二区三区久久久 | 中文字幕乱码人妻二区三区 | 中文字幕无码人妻少妇免费 | 精品午夜福利在线观看 | 美女毛片一区二区三区四区 | 扒开双腿吃奶呻吟做受视频 | 久久99精品国产麻豆 | 日本饥渴人妻欲求不满 | 性色欲网站人妻丰满中文久久不卡 | 奇米影视7777久久精品人人爽 | www一区二区www免费 | 亚洲成av人在线观看网址 | 好爽又高潮了毛片免费下载 | 亚洲伊人久久精品影院 | 东京无码熟妇人妻av在线网址 | 久久久久免费精品国产 | av无码电影一区二区三区 | 国产精品丝袜黑色高跟鞋 | 日本一本二本三区免费 | 久久99久久99精品中文字幕 | 国产人妻久久精品二区三区老狼 | 欧美熟妇另类久久久久久不卡 | 日韩人妻无码中文字幕视频 | 欧美性生交活xxxxxdddd | 亚洲自偷自偷在线制服 | 亚洲国产精品无码一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 人妻中文无码久热丝袜 | 欧美喷潮久久久xxxxx | 波多野结衣一区二区三区av免费 | 对白脏话肉麻粗话av | 国产人妻久久精品二区三区老狼 | 日本饥渴人妻欲求不满 | 天天av天天av天天透 | 色综合天天综合狠狠爱 | 亚洲国产午夜精品理论片 | 久久 国产 尿 小便 嘘嘘 | 久久久亚洲欧洲日产国码αv | 国产成人精品三级麻豆 | 日韩精品a片一区二区三区妖精 | 亚洲国产欧美在线成人 | 夫妻免费无码v看片 | 欧美 丝袜 自拍 制服 另类 | 久久综合色之久久综合 | 成人无码视频在线观看网站 | 色欲人妻aaaaaaa无码 | 亚洲区欧美区综合区自拍区 | 亚洲精品欧美二区三区中文字幕 | 男女超爽视频免费播放 | 亚洲自偷精品视频自拍 | 亚洲gv猛男gv无码男同 | 欧美刺激性大交 | 99麻豆久久久国产精品免费 | 国产性生交xxxxx无码 | 亚洲中文无码av永久不收费 | 欧美日韩一区二区免费视频 | 亚洲精品一区二区三区在线观看 | 国产成人综合色在线观看网站 | 欧美国产日韩亚洲中文 | 俄罗斯老熟妇色xxxx | 又黄又爽又色的视频 | 久久无码专区国产精品s | 久久久精品成人免费观看 | 熟妇女人妻丰满少妇中文字幕 | 日日摸天天摸爽爽狠狠97 | 欧美性生交xxxxx久久久 | 久久综合网欧美色妞网 | 四虎国产精品一区二区 | 最近的中文字幕在线看视频 | 国产精品第一国产精品 | 成人无码精品一区二区三区 | 亚洲欧美综合区丁香五月小说 | 亚洲第一无码av无码专区 | 日韩人妻系列无码专区 | 亚洲无人区午夜福利码高清完整版 | 国产精品毛片一区二区 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲精品国产精品乱码视色 | 麻花豆传媒剧国产免费mv在线 | 日产精品99久久久久久 | 99麻豆久久久国产精品免费 | 国产极品美女高潮无套在线观看 | 少妇无码一区二区二三区 | 妺妺窝人体色www婷婷 | 国产莉萝无码av在线播放 | 精品无人区无码乱码毛片国产 | 人妻少妇精品无码专区动漫 | 欧美老妇与禽交 | 丰满人妻翻云覆雨呻吟视频 | 亚洲大尺度无码无码专区 | 欧洲熟妇精品视频 | 国产香蕉97碰碰久久人人 | 国产av无码专区亚洲a∨毛片 | 牛和人交xxxx欧美 | 亚洲中文字幕乱码av波多ji | 精品无码av一区二区三区 | 国产激情一区二区三区 | 性色欲情网站iwww九文堂 | 青青青爽视频在线观看 | 免费人成在线观看网站 | 婷婷五月综合缴情在线视频 | 天堂亚洲2017在线观看 | 无码av最新清无码专区吞精 | 国产特级毛片aaaaaaa高清 | 国产乱人偷精品人妻a片 | 国产明星裸体无码xxxx视频 | 欧美人与牲动交xxxx | 粉嫩少妇内射浓精videos | 国产真人无遮挡作爱免费视频 | 激情亚洲一区国产精品 | 国产免费无码一区二区视频 | 天天摸天天透天天添 | 对白脏话肉麻粗话av | 久久国产精品精品国产色婷婷 | 日韩精品一区二区av在线 | 十八禁视频网站在线观看 | 成人一在线视频日韩国产 | 性欧美牲交在线视频 | 亚洲精品成人av在线 | 精品久久久久久人妻无码中文字幕 | 国产成人一区二区三区在线观看 | 久久综合狠狠综合久久综合88 | 久久久久亚洲精品中文字幕 | 成人毛片一区二区 | 99久久精品无码一区二区毛片 | 国产婷婷色一区二区三区在线 | 免费国产成人高清在线观看网站 | 熟妇人妻无乱码中文字幕 | 人妻与老人中文字幕 | 亚洲中文无码av永久不收费 | 中文字幕 亚洲精品 第1页 | а√天堂www在线天堂小说 | 国产精品丝袜黑色高跟鞋 | 一本色道婷婷久久欧美 | 性做久久久久久久免费看 | 免费人成在线观看网站 | 亚洲va中文字幕无码久久不卡 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 欧美日韩一区二区三区自拍 | 中文字幕无码日韩专区 | 久久zyz资源站无码中文动漫 | 亚洲综合无码一区二区三区 | 亚洲大尺度无码无码专区 | 久久人妻内射无码一区三区 | 国产人妻人伦精品1国产丝袜 | 免费无码一区二区三区蜜桃大 | 给我免费的视频在线观看 | 久久成人a毛片免费观看网站 | 国产午夜精品一区二区三区嫩草 | 丁香啪啪综合成人亚洲 | 熟女少妇在线视频播放 | 国产在热线精品视频 | 亚洲娇小与黑人巨大交 | 亚洲精品久久久久avwww潮水 | 偷窥日本少妇撒尿chinese | 亚洲精品成人av在线 | 少妇人妻偷人精品无码视频 | 九九综合va免费看 | 国产一区二区三区四区五区加勒比 | 免费看男女做好爽好硬视频 | 国产亚洲人成a在线v网站 | 无码播放一区二区三区 | 国产一区二区三区影院 | 久在线观看福利视频 | 久久综合九色综合欧美狠狠 | 曰本女人与公拘交酡免费视频 | 18禁黄网站男男禁片免费观看 | 波多野结衣一区二区三区av免费 | 东京无码熟妇人妻av在线网址 | 国产av久久久久精东av | 蜜桃视频插满18在线观看 | 中文字幕av日韩精品一区二区 | 亚洲精品久久久久久久久久久 | 色一情一乱一伦一视频免费看 | 白嫩日本少妇做爰 | 国产精品无码一区二区三区不卡 | 欧美变态另类xxxx | 国产色精品久久人妻 | 蜜臀aⅴ国产精品久久久国产老师 | 人妻无码久久精品人妻 | 免费观看的无遮挡av | 久9re热视频这里只有精品 | 中文字幕人成乱码熟女app | 亚洲国产精品毛片av不卡在线 | 久久 国产 尿 小便 嘘嘘 | 97久久国产亚洲精品超碰热 | 99re在线播放 | 2019nv天堂香蕉在线观看 | 国产精品福利视频导航 | 精品欧洲av无码一区二区三区 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲 日韩 欧美 成人 在线观看 | 亚洲一区二区三区国产精华液 | 人妻夜夜爽天天爽三区 | 国产亚洲精品久久久久久久 | 全黄性性激高免费视频 | 国产熟妇高潮叫床视频播放 | 人人妻人人澡人人爽欧美一区 | 日日摸天天摸爽爽狠狠97 | 玩弄中年熟妇正在播放 | 熟妇激情内射com | 老熟女重囗味hdxx69 | 亚洲狠狠色丁香婷婷综合 | 综合激情五月综合激情五月激情1 | 一本色道久久综合亚洲精品不卡 | 无码国内精品人妻少妇 | 人人澡人人透人人爽 | 日本www一道久久久免费榴莲 | 动漫av网站免费观看 | 亚洲中文字幕乱码av波多ji | 性生交大片免费看l | 黑人玩弄人妻中文在线 | 四十如虎的丰满熟妇啪啪 | 3d动漫精品啪啪一区二区中 | 亚洲日韩av一区二区三区中文 | 性色av无码免费一区二区三区 | 综合人妻久久一区二区精品 | 老熟女重囗味hdxx69 | 国产成人无码午夜视频在线观看 | 双乳奶水饱满少妇呻吟 | 亚洲а∨天堂久久精品2021 | 亚洲日韩精品欧美一区二区 | 在线 国产 欧美 亚洲 天堂 | 国产精品a成v人在线播放 | 成人精品一区二区三区中文字幕 | 澳门永久av免费网站 | 99久久久无码国产aaa精品 | 国産精品久久久久久久 | 99久久无码一区人妻 | 少妇一晚三次一区二区三区 | 在线观看国产午夜福利片 | 暴力强奷在线播放无码 | 蜜桃臀无码内射一区二区三区 | 精品久久久无码中文字幕 | 国产精品亚洲а∨无码播放麻豆 | 国产另类ts人妖一区二区 | 久久综合九色综合欧美狠狠 | 日日天干夜夜狠狠爱 | 女人被男人爽到呻吟的视频 | 无码国产激情在线观看 | 无码人妻出轨黑人中文字幕 | 成人欧美一区二区三区黑人 | 大肉大捧一进一出好爽视频 | 亚洲国产综合无码一区 | 狠狠色欧美亚洲狠狠色www | 亚洲乱码国产乱码精品精 | 欧美日韩一区二区免费视频 | 亚洲人成影院在线观看 | 国产另类ts人妖一区二区 | 国产午夜视频在线观看 | 国产精品香蕉在线观看 | 九月婷婷人人澡人人添人人爽 | 国产午夜视频在线观看 | 国产激情综合五月久久 | 亚洲精品中文字幕久久久久 | www成人国产高清内射 | 精品午夜福利在线观看 | 四虎影视成人永久免费观看视频 | 久久99精品国产.久久久久 | 国产av一区二区精品久久凹凸 | 亚洲国产一区二区三区在线观看 | 成人无码视频在线观看网站 | 性欧美牲交在线视频 | 久久精品国产一区二区三区肥胖 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产成人综合色在线观看网站 | 欧美肥老太牲交大战 | 午夜福利电影 | 国产另类ts人妖一区二区 | 美女黄网站人色视频免费国产 | 女高中生第一次破苞av | 亚洲国产成人av在线观看 | 国产精品内射视频免费 | 狠狠噜狠狠狠狠丁香五月 | 极品嫩模高潮叫床 | 自拍偷自拍亚洲精品被多人伦好爽 | 性欧美大战久久久久久久 | 精品无码国产自产拍在线观看蜜 | 漂亮人妻洗澡被公强 日日躁 | 亚洲小说图区综合在线 | 对白脏话肉麻粗话av | 国产在线精品一区二区三区直播 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 久久久久99精品国产片 | 无码人妻精品一区二区三区下载 | 亚洲国产精品毛片av不卡在线 | 国产精品鲁鲁鲁 | 日韩在线不卡免费视频一区 | 久久久久久久人妻无码中文字幕爆 | 人妻体内射精一区二区三四 | 奇米影视7777久久精品 | 亚洲色大成网站www | aa片在线观看视频在线播放 | 精品久久久久香蕉网 | 在线a亚洲视频播放在线观看 | 精品水蜜桃久久久久久久 | 国产99久久精品一区二区 | 免费乱码人妻系列无码专区 | 激情综合激情五月俺也去 | 一本大道伊人av久久综合 | 性色欲网站人妻丰满中文久久不卡 | 一本久久a久久精品vr综合 | 亚洲色大成网站www国产 | 亚洲精品无码人妻无码 | 极品尤物被啪到呻吟喷水 | 国产精品-区区久久久狼 | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲乱码日产精品bd | 中文字幕日韩精品一区二区三区 | 国内精品久久毛片一区二区 | 成人毛片一区二区 | 无套内谢的新婚少妇国语播放 | √8天堂资源地址中文在线 | 中文字幕人成乱码熟女app | 亚洲熟悉妇女xxx妇女av | 久久久www成人免费毛片 | 十八禁视频网站在线观看 | 亚洲欧美国产精品专区久久 | 国产精品久久久久久无码 | 日韩少妇白浆无码系列 | 国产口爆吞精在线视频 | 国产午夜视频在线观看 | 性欧美大战久久久久久久 | 亚洲欧美综合区丁香五月小说 | 亚洲熟熟妇xxxx | 国产一区二区三区四区五区加勒比 | 国产亚洲视频中文字幕97精品 | 国产三级精品三级男人的天堂 | 99精品无人区乱码1区2区3区 | 欧美成人免费全部网站 | 无码人妻黑人中文字幕 | 国产精品-区区久久久狼 | 人人妻人人澡人人爽人人精品 | 巨爆乳无码视频在线观看 | 亚洲日韩精品欧美一区二区 | 欧美一区二区三区 | 1000部啪啪未满十八勿入下载 | 国产黄在线观看免费观看不卡 | 在线a亚洲视频播放在线观看 | 美女黄网站人色视频免费国产 | 一本色道久久综合亚洲精品不卡 | 女高中生第一次破苞av | 天堂а√在线地址中文在线 | 无码纯肉视频在线观看 | 亚洲中文字幕久久无码 | 天天拍夜夜添久久精品 | 中文字幕无码免费久久99 | 最新国产乱人伦偷精品免费网站 | 樱花草在线社区www | 久久久国产一区二区三区 | 亚洲一区二区三区在线观看网站 | 特大黑人娇小亚洲女 | 亚洲欧美国产精品久久 | 18禁黄网站男男禁片免费观看 | 丰腴饱满的极品熟妇 | 丰满护士巨好爽好大乳 | 青青草原综合久久大伊人精品 | 又粗又大又硬毛片免费看 | 国产乱人伦av在线无码 | 日本一卡二卡不卡视频查询 | 人人妻人人澡人人爽欧美一区 | 国产真实乱对白精彩久久 | 国产精品99爱免费视频 | 男人和女人高潮免费网站 | www国产精品内射老师 | 亚洲 另类 在线 欧美 制服 | 人人妻人人澡人人爽人人精品 | 中文字幕+乱码+中文字幕一区 | 日韩少妇白浆无码系列 | 无码精品人妻一区二区三区av | 真人与拘做受免费视频一 | 特级做a爰片毛片免费69 | 亚洲人成无码网www | 午夜福利不卡在线视频 | 亚洲精品www久久久 | 男人的天堂2018无码 | 性欧美熟妇videofreesex | 亚洲精品久久久久久久久久久 | 国产真实伦对白全集 | 久久成人a毛片免费观看网站 | 精品无码成人片一区二区98 | 亚洲爆乳无码专区 | 国产美女极度色诱视频www | 亚洲乱亚洲乱妇50p | 欧美性生交xxxxx久久久 | 99久久婷婷国产综合精品青草免费 | 性史性农村dvd毛片 | 97精品国产97久久久久久免费 | 久久视频在线观看精品 | 久久久婷婷五月亚洲97号色 | 日本一区二区三区免费播放 | 高潮喷水的毛片 | 麻豆av传媒蜜桃天美传媒 | 亚洲国产午夜精品理论片 | 亚洲欧美国产精品久久 | 欧美xxxx黑人又粗又长 | 日韩精品无码一区二区中文字幕 | 少妇性俱乐部纵欲狂欢电影 | 亚洲а∨天堂久久精品2021 | 中文字幕乱码亚洲无线三区 | 国产精品资源一区二区 | 亚洲精品一区二区三区四区五区 | 亚洲综合久久一区二区 | 久久国产精品萌白酱免费 | 亚洲日韩中文字幕在线播放 | 永久黄网站色视频免费直播 | 国产手机在线αⅴ片无码观看 | 少妇一晚三次一区二区三区 | 在线播放免费人成毛片乱码 | 国产综合在线观看 | 欧美第一黄网免费网站 | 小鲜肉自慰网站xnxx | 欧美人与禽猛交狂配 | 免费网站看v片在线18禁无码 | 少妇被粗大的猛进出69影院 | 亚洲一区二区三区香蕉 | 日日鲁鲁鲁夜夜爽爽狠狠 | 激情人妻另类人妻伦 | 中文久久乱码一区二区 | 东京一本一道一二三区 | 亚洲综合在线一区二区三区 | 欧美亚洲国产一区二区三区 | 欧美丰满老熟妇xxxxx性 | 亚洲国产综合无码一区 | 国产69精品久久久久app下载 | 无码国模国产在线观看 | 国内精品人妻无码久久久影院蜜桃 | 香蕉久久久久久av成人 | 波多野结衣乳巨码无在线观看 | 在线精品亚洲一区二区 | 亚欧洲精品在线视频免费观看 | 老子影院午夜精品无码 | 色诱久久久久综合网ywww | 久久精品人人做人人综合试看 | 99久久99久久免费精品蜜桃 | 久久久久亚洲精品中文字幕 | 99精品无人区乱码1区2区3区 | 亚洲成a人片在线观看无码 | 少妇一晚三次一区二区三区 | 一本久道久久综合狠狠爱 | 无码国产激情在线观看 | 国产精品人妻一区二区三区四 | 日本饥渴人妻欲求不满 | 宝宝好涨水快流出来免费视频 | 蜜桃视频插满18在线观看 | 精品乱子伦一区二区三区 | 亚洲第一网站男人都懂 | 亚欧洲精品在线视频免费观看 | 天天拍夜夜添久久精品 | 亚洲aⅴ无码成人网站国产app | 精品久久久久香蕉网 | 久久精品中文闷骚内射 | 欧美人与动性行为视频 | 日韩亚洲欧美精品综合 | 国产午夜无码视频在线观看 | 国产免费久久精品国产传媒 | 国产成人无码av在线影院 | 少妇厨房愉情理9仑片视频 | 国产免费久久精品国产传媒 | 激情综合激情五月俺也去 | 亚洲成色在线综合网站 | 无码人妻av免费一区二区三区 | 国产精品人妻一区二区三区四 | 久久人妻内射无码一区三区 | 久久精品99久久香蕉国产色戒 | 亚洲日韩av一区二区三区四区 | 无码国产乱人伦偷精品视频 | 国产亚洲精品久久久闺蜜 | 精品夜夜澡人妻无码av蜜桃 | 久热国产vs视频在线观看 | 国产农村妇女高潮大叫 | 老熟女重囗味hdxx69 | 国产一精品一av一免费 | 国产办公室秘书无码精品99 | 亚洲成av人片在线观看无码不卡 | 欧美日韩综合一区二区三区 | 国产无av码在线观看 | 男女爱爱好爽视频免费看 | 国产在线无码精品电影网 | 免费中文字幕日韩欧美 | 日本熟妇大屁股人妻 | 国产精品免费大片 | 国产精品久久久久9999小说 | 国产精品高潮呻吟av久久4虎 | 国产黑色丝袜在线播放 | 久久国语露脸国产精品电影 | 亚洲爆乳大丰满无码专区 | 女人被男人爽到呻吟的视频 | 亚洲成av人片天堂网无码】 | 国产真实夫妇视频 | 国产亲子乱弄免费视频 | 十八禁真人啪啪免费网站 | 精品国产成人一区二区三区 | 97se亚洲精品一区 | 俄罗斯老熟妇色xxxx | 亚洲gv猛男gv无码男同 | 狠狠综合久久久久综合网 | 成人一区二区免费视频 | 国内少妇偷人精品视频免费 | 亚洲aⅴ无码成人网站国产app | 天天拍夜夜添久久精品大 | 麻花豆传媒剧国产免费mv在线 | 国产69精品久久久久app下载 | 中文字幕日产无线码一区 | www一区二区www免费 | 亚洲色大成网站www国产 | 国产美女精品一区二区三区 | 亚洲自偷自拍另类第1页 | 欧洲vodafone精品性 | 图片小说视频一区二区 | 18无码粉嫩小泬无套在线观看 | 人人超人人超碰超国产 | 九九热爱视频精品 | 亚洲欧洲中文日韩av乱码 | 人人妻人人澡人人爽精品欧美 | 天干天干啦夜天干天2017 | av在线亚洲欧洲日产一区二区 | 国产成人无码一二三区视频 | 久久久久亚洲精品男人的天堂 | 人人妻在人人 | 国内老熟妇对白xxxxhd | 国产精品久久久午夜夜伦鲁鲁 | 国产午夜视频在线观看 | 亚洲国产精品无码一区二区三区 | 亚洲精品美女久久久久久久 | 国产黑色丝袜在线播放 | 青草青草久热国产精品 | 少妇高潮喷潮久久久影院 | 97色伦图片97综合影院 | 日韩人妻系列无码专区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 成人无码精品1区2区3区免费看 | 国产一区二区三区影院 | 亚洲热妇无码av在线播放 | 中文字幕亚洲情99在线 | 国产成人无码av一区二区 | 日产精品99久久久久久 | 国产精品美女久久久网av | 欧美成人高清在线播放 | 久久99热只有频精品8 | 久久人人97超碰a片精品 | 老司机亚洲精品影院 | 亚洲高清偷拍一区二区三区 | 特黄特色大片免费播放器图片 | 亚洲毛片av日韩av无码 | 99久久亚洲精品无码毛片 | 老司机亚洲精品影院 | 国产午夜福利亚洲第一 | 精品人妻中文字幕有码在线 | 亚洲一区av无码专区在线观看 | 久久久久亚洲精品男人的天堂 | 久久久久久久女国产乱让韩 | 丝袜美腿亚洲一区二区 | 国产精品久久久午夜夜伦鲁鲁 | 国产无遮挡又黄又爽免费视频 | 国产高清av在线播放 | 人妻天天爽夜夜爽一区二区 | 国产香蕉97碰碰久久人人 | 亚洲欧美国产精品久久 | 国产精品久久久av久久久 | 国产精华av午夜在线观看 | www国产精品内射老师 | 少妇愉情理伦片bd | 骚片av蜜桃精品一区 | 98国产精品综合一区二区三区 | 久久综合狠狠综合久久综合88 | 久久综合香蕉国产蜜臀av | 中文字幕无码日韩专区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 黄网在线观看免费网站 | 特黄特色大片免费播放器图片 | 色婷婷久久一区二区三区麻豆 | 丝袜 中出 制服 人妻 美腿 | 日日摸夜夜摸狠狠摸婷婷 | 无码国内精品人妻少妇 | 久久 国产 尿 小便 嘘嘘 | 娇妻被黑人粗大高潮白浆 | 色婷婷香蕉在线一区二区 | 熟妇人妻无码xxx视频 | 国产免费久久久久久无码 | 亚洲精品国产精品乱码视色 | 波多野结衣aⅴ在线 | 激情五月综合色婷婷一区二区 | 18无码粉嫩小泬无套在线观看 | av在线亚洲欧洲日产一区二区 | 欧美老妇交乱视频在线观看 | 色婷婷香蕉在线一区二区 | 亚洲日本一区二区三区在线 | 久久久久成人精品免费播放动漫 | 亚洲另类伦春色综合小说 | 国产9 9在线 | 中文 | 欧美变态另类xxxx | 丰满少妇高潮惨叫视频 | 一本久久伊人热热精品中文字幕 | 亚洲成av人综合在线观看 | 99久久人妻精品免费二区 | 国产 浪潮av性色四虎 | 国产免费无码一区二区视频 | 欧美日本精品一区二区三区 | 精品熟女少妇av免费观看 | 无套内谢的新婚少妇国语播放 | 图片小说视频一区二区 | 亚洲欧美日韩国产精品一区二区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 性色欲网站人妻丰满中文久久不卡 | 亚洲成a人片在线观看无码 | 亚洲中文字幕无码一久久区 | 国产午夜福利亚洲第一 | 久久伊人色av天堂九九小黄鸭 | 亚洲爆乳大丰满无码专区 | 亚洲一区二区三区含羞草 | 全球成人中文在线 | 国产美女极度色诱视频www | 国产超碰人人爽人人做人人添 | 国产办公室秘书无码精品99 | 亚洲国产精品美女久久久久 | 人妻体内射精一区二区三四 | www国产亚洲精品久久久日本 | 亚洲日本在线电影 | 午夜精品一区二区三区的区别 | 无遮挡国产高潮视频免费观看 | 国产乱人伦偷精品视频 | 亚洲精品久久久久久久久久久 | 人人妻人人澡人人爽精品欧美 | 亚洲经典千人经典日产 | 日韩精品无码一区二区中文字幕 | 色老头在线一区二区三区 | 久久99精品久久久久婷婷 | 激情内射亚州一区二区三区爱妻 | 亚洲人亚洲人成电影网站色 | 亚洲中文字幕成人无码 | 露脸叫床粗话东北少妇 | 正在播放老肥熟妇露脸 | 亚洲の无码国产の无码步美 | 牲欲强的熟妇农村老妇女 | 亚洲aⅴ无码成人网站国产app | 国产精品久久久午夜夜伦鲁鲁 | 国产精品亚洲五月天高清 | 国产凸凹视频一区二区 | 国产农村妇女高潮大叫 | 中文字幕日韩精品一区二区三区 | 男女作爱免费网站 | 国产亚洲精品精品国产亚洲综合 | 精品aⅴ一区二区三区 | 爱做久久久久久 | 亚洲国产高清在线观看视频 | 暴力强奷在线播放无码 | 麻豆国产97在线 | 欧洲 | 精品久久久无码中文字幕 | 一本色道久久综合狠狠躁 | 无码中文字幕色专区 | 成人片黄网站色大片免费观看 | 久久精品国产一区二区三区肥胖 | 亚洲男人av香蕉爽爽爽爽 | 国产精品久久久久7777 | 国产农村乱对白刺激视频 | 亚洲日韩av一区二区三区中文 | 粉嫩少妇内射浓精videos | 曰韩无码二三区中文字幕 | 强伦人妻一区二区三区视频18 | 日本丰满熟妇videos | 麻豆果冻传媒2021精品传媒一区下载 | 久久国内精品自在自线 | 亚洲第一网站男人都懂 | 亚洲色欲色欲欲www在线 | 欧美激情一区二区三区成人 | 国精品人妻无码一区二区三区蜜柚 | 亚洲精品成人av在线 | 成人欧美一区二区三区黑人免费 | 中国女人内谢69xxxxxa片 | 久久午夜无码鲁丝片秋霞 | 好屌草这里只有精品 | 成人片黄网站色大片免费观看 | 综合激情五月综合激情五月激情1 | 亚洲乱码国产乱码精品精 | 中文无码伦av中文字幕 | 野狼第一精品社区 | 55夜色66夜色国产精品视频 | 亚洲精品综合五月久久小说 | 亚洲春色在线视频 | 午夜福利试看120秒体验区 | 免费乱码人妻系列无码专区 | 99精品无人区乱码1区2区3区 | ass日本丰满熟妇pics | 色窝窝无码一区二区三区色欲 | 67194成是人免费无码 | 久久久成人毛片无码 | 成在人线av无码免观看麻豆 | 亚洲国产高清在线观看视频 | 国产一区二区三区影院 | 丰满肥臀大屁股熟妇激情视频 | 少妇的肉体aa片免费 | 成人一在线视频日韩国产 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 欧美人与物videos另类 | 国产精品多人p群无码 | 波多野结衣av在线观看 | 熟妇人妻激情偷爽文 | 久久久av男人的天堂 | 最近中文2019字幕第二页 | aⅴ亚洲 日韩 色 图网站 播放 | 麻豆人妻少妇精品无码专区 | www国产亚洲精品久久网站 | 性生交大片免费看女人按摩摩 | 久久精品一区二区三区四区 | 久久综合香蕉国产蜜臀av | 久久精品国产大片免费观看 | 正在播放老肥熟妇露脸 | 午夜熟女插插xx免费视频 | 欧美老妇与禽交 | 丰满人妻一区二区三区免费视频 | 丝袜美腿亚洲一区二区 | 国产真人无遮挡作爱免费视频 | 天天摸天天碰天天添 | 国产无套内射久久久国产 | 国精品人妻无码一区二区三区蜜柚 | 国产成人精品一区二区在线小狼 | 白嫩日本少妇做爰 | 国产精品人人爽人人做我的可爱 | 国产高清av在线播放 | 欧美xxxxx精品 | 久久久久久国产精品无码下载 | 夜夜高潮次次欢爽av女 | 国产成人无码av在线影院 | 中文字幕+乱码+中文字幕一区 | 亚洲精品综合五月久久小说 | 中文字幕av无码一区二区三区电影 | 国产精品亚洲综合色区韩国 | 99久久99久久免费精品蜜桃 | 国产亚洲精品久久久久久大师 | 欧美熟妇另类久久久久久不卡 | 日本护士xxxxhd少妇 | 无遮挡国产高潮视频免费观看 | 给我免费的视频在线观看 | 国产亚洲美女精品久久久2020 | 天下第一社区视频www日本 | 亚洲一区二区三区偷拍女厕 | 久久久久亚洲精品男人的天堂 | 国产成人av免费观看 | 久久久精品欧美一区二区免费 | 精品久久8x国产免费观看 | 国产成人精品必看 | 18无码粉嫩小泬无套在线观看 | 51国偷自产一区二区三区 | 又大又硬又黄的免费视频 | 97久久国产亚洲精品超碰热 | 国产成人久久精品流白浆 | 亚洲精品一区二区三区在线观看 | 久久99久久99精品中文字幕 | 精品无码国产一区二区三区av | 少妇一晚三次一区二区三区 | yw尤物av无码国产在线观看 | 国产精品18久久久久久麻辣 | 中文字幕乱码人妻二区三区 | 无套内射视频囯产 | 日本护士毛茸茸高潮 | 久久精品无码一区二区三区 | 377p欧洲日本亚洲大胆 | 精品偷拍一区二区三区在线看 | 欧洲美熟女乱又伦 | 国产精品免费大片 | 欧美高清在线精品一区 | 色婷婷欧美在线播放内射 | 日韩少妇白浆无码系列 | 日本爽爽爽爽爽爽在线观看免 | 蜜桃臀无码内射一区二区三区 | 国产午夜视频在线观看 | 一本久道久久综合狠狠爱 | 色五月丁香五月综合五月 | 国产精品无码成人午夜电影 | 国产激情综合五月久久 | 丰满人妻翻云覆雨呻吟视频 | 天天燥日日燥 | 青青草原综合久久大伊人精品 | 亚洲精品午夜无码电影网 | 国产又粗又硬又大爽黄老大爷视 | 欧美熟妇另类久久久久久多毛 | 精品一区二区三区无码免费视频 | 国产精品99久久精品爆乳 | 免费国产黄网站在线观看 | 国产熟妇高潮叫床视频播放 | 又粗又大又硬又长又爽 | 欧美色就是色 | 5858s亚洲色大成网站www | 久久久久久久久888 | 国产97在线 | 亚洲 | 国产亚洲精品久久久久久久久动漫 | 国产在线aaa片一区二区99 | 成人无码精品1区2区3区免费看 | 综合网日日天干夜夜久久 | 丝袜 中出 制服 人妻 美腿 | 国产熟女一区二区三区四区五区 | 狠狠躁日日躁夜夜躁2020 | 国产人妻人伦精品1国产丝袜 | 在线亚洲高清揄拍自拍一品区 | 水蜜桃色314在线观看 | 国产精品无码久久av | 小sao货水好多真紧h无码视频 | 色情久久久av熟女人妻网站 | 一区二区三区高清视频一 | 亚洲欧美综合区丁香五月小说 | 岛国片人妻三上悠亚 | 国产办公室秘书无码精品99 | 大乳丰满人妻中文字幕日本 | 久久久久久九九精品久 | 少妇高潮喷潮久久久影院 | 无码人中文字幕 | 97精品国产97久久久久久免费 | 欧美一区二区三区视频在线观看 | 久久久久亚洲精品中文字幕 | 亚洲日韩精品欧美一区二区 | 成人精品视频一区二区三区尤物 | 国产激情一区二区三区 | 国产综合久久久久鬼色 | 又大又黄又粗又爽的免费视频 | 99久久精品国产一区二区蜜芽 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产在线精品一区二区高清不卡 | 99久久精品国产一区二区蜜芽 | 成人三级无码视频在线观看 | 中文字幕乱妇无码av在线 | 在线播放免费人成毛片乱码 | 中国大陆精品视频xxxx | 欧美老人巨大xxxx做受 | 九九综合va免费看 | 成 人 免费观看网站 | 少妇无码一区二区二三区 | 图片区 小说区 区 亚洲五月 | 亚洲欧美综合区丁香五月小说 | 亚洲国产精品久久久久久 | 国产内射爽爽大片视频社区在线 | 中文字幕无码日韩欧毛 | 欧美高清在线精品一区 | 天堂а√在线中文在线 | 国产亚洲精品久久久久久国模美 | 亚洲码国产精品高潮在线 | 人人妻人人澡人人爽精品欧美 | 18禁止看的免费污网站 | 青青青爽视频在线观看 | 夜夜躁日日躁狠狠久久av | 我要看www免费看插插视频 | 国产亚洲欧美在线专区 | 曰本女人与公拘交酡免费视频 | 在线看片无码永久免费视频 | 伊人久久大香线蕉av一区二区 | 国内精品人妻无码久久久影院蜜桃 | 亚洲精品中文字幕乱码 | 性色av无码免费一区二区三区 | 久久精品国产99精品亚洲 | 亚洲精品成人福利网站 | 宝宝好涨水快流出来免费视频 | 国产亚洲美女精品久久久2020 | 中文字幕人成乱码熟女app | 老头边吃奶边弄进去呻吟 | 强开小婷嫩苞又嫩又紧视频 | 无遮挡国产高潮视频免费观看 | 日韩精品成人一区二区三区 | 欧洲精品码一区二区三区免费看 | 麻豆国产人妻欲求不满谁演的 | 性开放的女人aaa片 | 最新国产乱人伦偷精品免费网站 | a片在线免费观看 | 秋霞特色aa大片 | 伊人久久大香线蕉av一区二区 | 乱人伦人妻中文字幕无码久久网 | 亚洲中文字幕av在天堂 | 亲嘴扒胸摸屁股激烈网站 | 欧洲精品码一区二区三区免费看 | 国产亚洲人成在线播放 | 精品国产精品久久一区免费式 | 中文字幕人妻丝袜二区 | 婷婷综合久久中文字幕蜜桃三电影 | 狂野欧美性猛交免费视频 | 无人区乱码一区二区三区 | 思思久久99热只有频精品66 | 日本一卡二卡不卡视频查询 | 久久人人97超碰a片精品 | 鲁大师影院在线观看 | 中文毛片无遮挡高清免费 | 亚洲春色在线视频 | 久久zyz资源站无码中文动漫 | 国产乱码精品一品二品 | 国产激情精品一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 成人一在线视频日韩国产 | 4hu四虎永久在线观看 | 国产激情精品一区二区三区 | 亚洲成av人影院在线观看 | 亚洲成a人片在线观看无码 | 亚洲の无码国产の无码影院 | 国内精品一区二区三区不卡 | 人妻体内射精一区二区三四 | 成熟女人特级毛片www免费 | 老熟妇仑乱视频一区二区 | 国产另类ts人妖一区二区 | 国产农村妇女高潮大叫 | 男女超爽视频免费播放 | 国产 精品 自在自线 | 在线观看免费人成视频 | 日本精品少妇一区二区三区 | 欧美三级不卡在线观看 | 久久综合网欧美色妞网 | 欧美乱妇无乱码大黄a片 | 久激情内射婷内射蜜桃人妖 | 乱码av麻豆丝袜熟女系列 | 色老头在线一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 久久综合网欧美色妞网 | 天天av天天av天天透 | 67194成是人免费无码 | 久久久久免费精品国产 |