久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(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ò),歡迎將生活随笔推薦給好友。

国产精品美女久久久网av | 精品亚洲成av人在线观看 | 性啪啪chinese东北女人 | 日韩少妇内射免费播放 | 老熟女重囗味hdxx69 | 久久国产精品_国产精品 | 97精品国产97久久久久久免费 | 国产熟妇另类久久久久 | 欧美三级不卡在线观看 | 精品欧洲av无码一区二区三区 | 97夜夜澡人人爽人人喊中国片 | 欧美黑人性暴力猛交喷水 | 国产特级毛片aaaaaaa高清 | 乱人伦人妻中文字幕无码久久网 | 日本又色又爽又黄的a片18禁 | 亚洲经典千人经典日产 | 亚洲国产精品无码一区二区三区 | 亚洲啪av永久无码精品放毛片 | 国产内射爽爽大片视频社区在线 | a片在线免费观看 | 国产激情精品一区二区三区 | 无码av岛国片在线播放 | 中文字幕日韩精品一区二区三区 | 131美女爱做视频 | 无码精品人妻一区二区三区av | a在线观看免费网站大全 | 精品乱码久久久久久久 | 永久黄网站色视频免费直播 | 99久久人妻精品免费一区 | 欧美性生交xxxxx久久久 | 亚洲人亚洲人成电影网站色 | 一区二区三区高清视频一 | 伦伦影院午夜理论片 | 亚洲乱码国产乱码精品精 | 国产成人无码午夜视频在线观看 | 中文字幕人妻丝袜二区 | 99久久99久久免费精品蜜桃 | 少妇久久久久久人妻无码 | 97久久国产亚洲精品超碰热 | 又大又硬又黄的免费视频 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲国产成人av在线观看 | 亚洲综合另类小说色区 | 国产乱人无码伦av在线a | 久久亚洲a片com人成 | 国产精品久久国产三级国 | 国产一区二区三区影院 | 中文字幕日韩精品一区二区三区 | 一本色道久久综合狠狠躁 | 国产免费久久精品国产传媒 | 麻豆国产丝袜白领秘书在线观看 | 无码成人精品区在线观看 | 高清无码午夜福利视频 | 丰满诱人的人妻3 | 色五月五月丁香亚洲综合网 | 国产精品久久精品三级 | 青青青手机频在线观看 | 欧美黑人性暴力猛交喷水 | 精品国产青草久久久久福利 | 日韩av无码一区二区三区不卡 | 麻豆国产丝袜白领秘书在线观看 | 国产超碰人人爽人人做人人添 | 欧美人与物videos另类 | 欧美野外疯狂做受xxxx高潮 | 国产精品欧美成人 | 亚洲a无码综合a国产av中文 | 性生交大片免费看l | 欧美 亚洲 国产 另类 | 成年美女黄网站色大免费视频 | 国产精品理论片在线观看 | 5858s亚洲色大成网站www | 好男人www社区 | 亚洲精品一区二区三区婷婷月 | 亚洲精品一区三区三区在线观看 | 全黄性性激高免费视频 | 久久亚洲a片com人成 | 樱花草在线社区www | 国产精品人人妻人人爽 | 99久久婷婷国产综合精品青草免费 | 日本精品人妻无码77777 天堂一区人妻无码 | 久久99精品国产.久久久久 | 亚洲a无码综合a国产av中文 | 好男人www社区 | 一个人免费观看的www视频 | 老子影院午夜伦不卡 | 中文字幕精品av一区二区五区 | 亚洲日韩一区二区 | 欧美成人家庭影院 | 久久久久久亚洲精品a片成人 | 97se亚洲精品一区 | 国产成人精品三级麻豆 | 久久综合给合久久狠狠狠97色 | 无码吃奶揉捏奶头高潮视频 | 国内丰满熟女出轨videos | 色婷婷综合激情综在线播放 | 亚洲国产欧美日韩精品一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 色综合久久久无码中文字幕 | 色婷婷欧美在线播放内射 | 天堂在线观看www | www国产精品内射老师 | 日韩欧美中文字幕在线三区 | 国产三级久久久精品麻豆三级 | 中文字幕av日韩精品一区二区 | 少妇性荡欲午夜性开放视频剧场 | 伊人久久婷婷五月综合97色 | 天海翼激烈高潮到腰振不止 | 鲁一鲁av2019在线 | 亚洲成av人综合在线观看 | 又紧又大又爽精品一区二区 | 久久人人97超碰a片精品 | 无码纯肉视频在线观看 | 精品久久久久久亚洲精品 | 亚洲国产精品无码久久久久高潮 | 白嫩日本少妇做爰 | 欧洲vodafone精品性 | 国产精品第一区揄拍无码 | 亚洲伊人久久精品影院 | 高清不卡一区二区三区 | 日本免费一区二区三区最新 | 国产女主播喷水视频在线观看 | 国产xxx69麻豆国语对白 | 野狼第一精品社区 | 欧美激情内射喷水高潮 | 日本va欧美va欧美va精品 | 久久99精品国产.久久久久 | 一个人看的www免费视频在线观看 | 成人精品天堂一区二区三区 | 精品水蜜桃久久久久久久 | 亚洲国产欧美国产综合一区 | 亚洲乱码中文字幕在线 | 中文字幕乱妇无码av在线 | 人人妻在人人 | 欧美老熟妇乱xxxxx | 无码福利日韩神码福利片 | 丝袜 中出 制服 人妻 美腿 | 亚洲精品一区二区三区在线 | 久久久久国色av免费观看性色 | 亚洲 a v无 码免 费 成 人 a v | 国产小呦泬泬99精品 | 青草视频在线播放 | 午夜精品久久久内射近拍高清 | 蜜臀av在线播放 久久综合激激的五月天 | 中文字幕无码免费久久99 | 国产97人人超碰caoprom | 成熟人妻av无码专区 | 99久久精品无码一区二区毛片 | 亚洲欧美日韩国产精品一区二区 | 国产精品自产拍在线观看 | 老司机亚洲精品影院无码 | 国产9 9在线 | 中文 | 亚洲综合在线一区二区三区 | 成人精品视频一区二区三区尤物 | 久久熟妇人妻午夜寂寞影院 | 最近中文2019字幕第二页 | 亚洲热妇无码av在线播放 | 亚洲中文无码av永久不收费 | 欧美人与物videos另类 | 男人扒开女人内裤强吻桶进去 | 人妻与老人中文字幕 | 亚洲色欲久久久综合网东京热 | 日本精品久久久久中文字幕 | 在教室伦流澡到高潮hnp视频 | 国产精品无码一区二区桃花视频 | 永久免费观看美女裸体的网站 | 人人爽人人澡人人高潮 | 国产成人久久精品流白浆 | 国产在热线精品视频 | 麻豆av传媒蜜桃天美传媒 | 十八禁真人啪啪免费网站 | 99久久精品国产一区二区蜜芽 | 色综合视频一区二区三区 | 精品水蜜桃久久久久久久 | 国产后入清纯学生妹 | 乱码av麻豆丝袜熟女系列 | 亚洲精品成a人在线观看 | 国产办公室秘书无码精品99 | 成人一在线视频日韩国产 | 亚洲人成网站免费播放 | 又大又紧又粉嫩18p少妇 | 亚洲一区二区观看播放 | 欧美一区二区三区视频在线观看 | 免费无码肉片在线观看 | 国产精品-区区久久久狼 | 久久久婷婷五月亚洲97号色 | 久久久久久九九精品久 | 久久亚洲精品成人无码 | 精品国产aⅴ无码一区二区 | 波多野结衣aⅴ在线 | 天堂а√在线中文在线 | 狠狠cao日日穞夜夜穞av | 久久久av男人的天堂 | 国产成人精品优优av | 中文字幕 人妻熟女 | 国产成人精品必看 | 欧美人与禽zoz0性伦交 | 日韩av无码一区二区三区不卡 | 久久精品人妻少妇一区二区三区 | 丰腴饱满的极品熟妇 | 国产精品成人av在线观看 | 久久久久免费看成人影片 | 亚洲国产欧美国产综合一区 | 日欧一片内射va在线影院 | 精品乱码久久久久久久 | 97无码免费人妻超级碰碰夜夜 | 麻豆av传媒蜜桃天美传媒 | 欧美人与禽猛交狂配 | 精品一区二区三区波多野结衣 | 久9re热视频这里只有精品 | 精品少妇爆乳无码av无码专区 | 亚洲毛片av日韩av无码 | 欧洲精品码一区二区三区免费看 | 一二三四在线观看免费视频 | 亚洲精品午夜无码电影网 | 激情爆乳一区二区三区 | 国产激情一区二区三区 | 国产精品va在线观看无码 | 国色天香社区在线视频 | 亚洲熟妇色xxxxx欧美老妇 | 国产va免费精品观看 | 天堂亚洲免费视频 | 亚洲性无码av中文字幕 | 久久99久久99精品中文字幕 | 国产区女主播在线观看 | 日本熟妇人妻xxxxx人hd | 亚洲精品久久久久avwww潮水 | 无码一区二区三区在线 | а√天堂www在线天堂小说 | 成人无码精品一区二区三区 | 暴力强奷在线播放无码 | 色老头在线一区二区三区 | 免费视频欧美无人区码 | 日日夜夜撸啊撸 | 国产人妻大战黑人第1集 | 在线欧美精品一区二区三区 | 亚洲精品鲁一鲁一区二区三区 | 97久久国产亚洲精品超碰热 | 麻豆人妻少妇精品无码专区 | 国产色在线 | 国产 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲日本一区二区三区在线 | 精品少妇爆乳无码av无码专区 | 亚洲中文字幕久久无码 | 熟妇人妻激情偷爽文 | 午夜福利电影 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲精品国偷拍自产在线麻豆 | 色婷婷香蕉在线一区二区 | 精品国产精品久久一区免费式 | 色婷婷香蕉在线一区二区 | 亚洲男人av天堂午夜在 | 久久国产自偷自偷免费一区调 | 成人精品视频一区二区三区尤物 | 国产乱人偷精品人妻a片 | 在线 国产 欧美 亚洲 天堂 | 亚洲精品鲁一鲁一区二区三区 | 国产精品-区区久久久狼 | 国产精品久久国产精品99 | 欧美人与牲动交xxxx | 国产人妖乱国产精品人妖 | 少妇邻居内射在线 | 亚洲精品中文字幕 | 中文无码成人免费视频在线观看 | 亚洲区欧美区综合区自拍区 | 亚洲爆乳精品无码一区二区三区 | 伊人久久大香线蕉亚洲 | 精品 日韩 国产 欧美 视频 | 欧洲极品少妇 | 少妇无码av无码专区在线观看 | 学生妹亚洲一区二区 | 亚洲春色在线视频 | 久久99国产综合精品 | 性啪啪chinese东北女人 | 最近的中文字幕在线看视频 | 久久久久亚洲精品男人的天堂 | 日韩人妻无码一区二区三区久久99 | 亚洲日韩av一区二区三区中文 | 特大黑人娇小亚洲女 | 国产精品人人爽人人做我的可爱 | 午夜精品一区二区三区的区别 | 无码人妻少妇伦在线电影 | 午夜精品一区二区三区的区别 | 精品偷自拍另类在线观看 | 少妇人妻大乳在线视频 | 最新版天堂资源中文官网 | 国产乱人伦av在线无码 | 天天燥日日燥 | 乱码午夜-极国产极内射 | 欧美精品一区二区精品久久 | 国产精品亚洲一区二区三区喷水 | 欧美高清在线精品一区 | 亚洲国产精品久久久天堂 | 少妇激情av一区二区 | 欧美一区二区三区 | 中文久久乱码一区二区 | 精品久久久无码人妻字幂 | 日本精品少妇一区二区三区 | 夜夜高潮次次欢爽av女 | 好男人www社区 | 亚洲精品一区二区三区四区五区 | 欧美国产日韩亚洲中文 | 极品尤物被啪到呻吟喷水 | 国产精品福利视频导航 | 大肉大捧一进一出视频出来呀 | 国产成人精品优优av | 国产精品久久久久影院嫩草 | 精品 日韩 国产 欧美 视频 | 国产精品无码mv在线观看 | 久久久久99精品国产片 | 国产激情综合五月久久 | 国产精品亚洲综合色区韩国 | 欧美性猛交xxxx富婆 | 四虎影视成人永久免费观看视频 | 婷婷色婷婷开心五月四房播播 | 国产成人亚洲综合无码 | 又湿又紧又大又爽a视频国产 | 大胆欧美熟妇xx | 少妇性l交大片欧洲热妇乱xxx | 国产极品美女高潮无套在线观看 | 亚洲午夜福利在线观看 | 亚洲综合另类小说色区 | 中文字幕无码视频专区 | 国产午夜亚洲精品不卡 | 性欧美牲交xxxxx视频 | 精品亚洲成av人在线观看 | 国产欧美熟妇另类久久久 | 狂野欧美性猛交免费视频 | 欧美 丝袜 自拍 制服 另类 | 图片小说视频一区二区 | 国产高潮视频在线观看 | 亚洲中文字幕乱码av波多ji | 成人性做爰aaa片免费看不忠 | 国产熟妇另类久久久久 | 久久亚洲日韩精品一区二区三区 | 午夜精品久久久久久久久 | 国产成人无码区免费内射一片色欲 | 综合激情五月综合激情五月激情1 | 国产成人精品三级麻豆 | 久久国产精品精品国产色婷婷 | 国产亚洲欧美在线专区 | 日日躁夜夜躁狠狠躁 | 久久久精品456亚洲影院 | 又大又黄又粗又爽的免费视频 | 亚洲欧美综合区丁香五月小说 | 99re在线播放 | 国产一区二区三区日韩精品 | 亚洲精品一区国产 | 亚洲中文字幕无码中文字在线 | 日韩精品成人一区二区三区 | 图片小说视频一区二区 | ass日本丰满熟妇pics | 日韩亚洲欧美中文高清在线 | 国产sm调教视频在线观看 | 国产区女主播在线观看 | 一区二区三区乱码在线 | 欧洲 | 动漫av网站免费观看 | 国产精品无码一区二区桃花视频 | 久久午夜无码鲁丝片午夜精品 | 一本加勒比波多野结衣 | 午夜精品久久久内射近拍高清 | 在线亚洲高清揄拍自拍一品区 | 欧美日本精品一区二区三区 | 免费中文字幕日韩欧美 | 亚洲精品国产精品乱码不卡 | 无码精品国产va在线观看dvd | 欧美第一黄网免费网站 | 久青草影院在线观看国产 | 日日干夜夜干 | 鲁大师影院在线观看 | 国产超级va在线观看视频 | 国产av久久久久精东av | 中文字幕av无码一区二区三区电影 | 搡女人真爽免费视频大全 | 午夜成人1000部免费视频 | 高潮喷水的毛片 | 99久久人妻精品免费二区 | 国产精品亚洲五月天高清 | 正在播放东北夫妻内射 | 3d动漫精品啪啪一区二区中 | 男人的天堂2018无码 | 国内精品人妻无码久久久影院蜜桃 | 强开小婷嫩苞又嫩又紧视频 | 人人爽人人澡人人高潮 | 午夜成人1000部免费视频 | 久久亚洲精品成人无码 | 影音先锋中文字幕无码 | 婷婷色婷婷开心五月四房播播 | 久久亚洲a片com人成 | 免费观看激色视频网站 | 日本护士xxxxhd少妇 | 国产精品久久久一区二区三区 | 高清不卡一区二区三区 | 欧美黑人巨大xxxxx | 人人澡人摸人人添 | 精品久久久久久人妻无码中文字幕 | 牲交欧美兽交欧美 | 日韩少妇白浆无码系列 | 无码人妻黑人中文字幕 | 樱花草在线播放免费中文 | 亚洲日本va午夜在线电影 | 18黄暴禁片在线观看 | 老司机亚洲精品影院无码 | 国产精品免费大片 | 久激情内射婷内射蜜桃人妖 | 妺妺窝人体色www在线小说 | 成在人线av无码免观看麻豆 | 亚洲精品中文字幕久久久久 | 国产熟女一区二区三区四区五区 | 久久久久成人精品免费播放动漫 | 天天综合网天天综合色 | 真人与拘做受免费视频一 | 对白脏话肉麻粗话av | 国产亚洲精品久久久闺蜜 | 初尝人妻少妇中文字幕 | 又紧又大又爽精品一区二区 | 成在人线av无码免费 | 精品人妻中文字幕有码在线 | 日本www一道久久久免费榴莲 | 精品国产精品久久一区免费式 | 久久久久久国产精品无码下载 | 人妻与老人中文字幕 | 亚洲日韩av一区二区三区四区 | 国产网红无码精品视频 | 精品国产国产综合精品 | 国产一区二区不卡老阿姨 | 粗大的内捧猛烈进出视频 | 国产成人无码av一区二区 | 欧美性黑人极品hd | 国产特级毛片aaaaaa高潮流水 | av无码不卡在线观看免费 | 成人三级无码视频在线观看 | 欧美日韩一区二区综合 | 女人被男人躁得好爽免费视频 | 超碰97人人做人人爱少妇 | 亚洲gv猛男gv无码男同 | 天堂无码人妻精品一区二区三区 | 日本一卡二卡不卡视频查询 | 在线看片无码永久免费视频 | 毛片内射-百度 | 牛和人交xxxx欧美 | 国产精品人人爽人人做我的可爱 | 欧美一区二区三区视频在线观看 | 97夜夜澡人人爽人人喊中国片 | 999久久久国产精品消防器材 | 性色欲网站人妻丰满中文久久不卡 | 无码午夜成人1000部免费视频 | 亚洲精品综合一区二区三区在线 | 欧美国产亚洲日韩在线二区 | 丰满人妻精品国产99aⅴ | 97精品国产97久久久久久免费 | 天天爽夜夜爽夜夜爽 | 欧美日本精品一区二区三区 | 少妇无码av无码专区在线观看 | 天天综合网天天综合色 | 人妻有码中文字幕在线 | 国产精品久久久久7777 | 性色欲网站人妻丰满中文久久不卡 | 天天做天天爱天天爽综合网 | 成人亚洲精品久久久久 | 色婷婷久久一区二区三区麻豆 | 青青草原综合久久大伊人精品 | 亚洲色在线无码国产精品不卡 | 成人精品一区二区三区中文字幕 | 欧美性生交xxxxx久久久 | 两性色午夜视频免费播放 | 免费观看黄网站 | 国产精品内射视频免费 | 国产激情一区二区三区 | 国产热a欧美热a在线视频 | 亚洲中文字幕av在天堂 | 国产精品嫩草久久久久 | 精品水蜜桃久久久久久久 | www一区二区www免费 | 草草网站影院白丝内射 | 动漫av一区二区在线观看 | 日韩精品无码一本二本三本色 | 国产成人无码a区在线观看视频app | 日韩人妻少妇一区二区三区 | 国产婷婷色一区二区三区在线 | 天堂亚洲2017在线观看 | 国产日产欧产精品精品app | 动漫av一区二区在线观看 | 午夜免费福利小电影 | 最近中文2019字幕第二页 | 亚洲无人区一区二区三区 | 99久久久无码国产精品免费 | 国产午夜亚洲精品不卡 | 久久久久久久人妻无码中文字幕爆 | 亚洲国产欧美日韩精品一区二区三区 | 国产精品va在线观看无码 | 国产成人综合在线女婷五月99播放 | 久久国产劲爆∧v内射 | 色妞www精品免费视频 | 国产福利视频一区二区 | 高清不卡一区二区三区 | 色欲av亚洲一区无码少妇 | 婷婷丁香六月激情综合啪 | 97资源共享在线视频 | 在线观看免费人成视频 | 国产精品美女久久久久av爽李琼 | 九九热爱视频精品 | 精品一区二区三区波多野结衣 | 久久综合久久自在自线精品自 | 久久久久久国产精品无码下载 | 2020最新国产自产精品 | 欧美日韩一区二区免费视频 | 亚洲码国产精品高潮在线 | 欧美成人免费全部网站 | 国产午夜亚洲精品不卡 | 久青草影院在线观看国产 | 奇米影视888欧美在线观看 | 牛和人交xxxx欧美 | 国产特级毛片aaaaaa高潮流水 | 内射欧美老妇wbb | 乱人伦中文视频在线观看 | 国产精品多人p群无码 | 色 综合 欧美 亚洲 国产 | 老太婆性杂交欧美肥老太 | 我要看www免费看插插视频 | 无码吃奶揉捏奶头高潮视频 | 国产凸凹视频一区二区 | 久久综合九色综合欧美狠狠 | 国产97在线 | 亚洲 | 熟妇人妻无码xxx视频 | 久久精品中文字幕一区 | 麻豆成人精品国产免费 | 国语自产偷拍精品视频偷 | 狂野欧美性猛交免费视频 | 婷婷六月久久综合丁香 | 日本护士xxxxhd少妇 | 国产精品免费大片 | 东京一本一道一二三区 | 国产精品久久久久久亚洲毛片 | 成 人 免费观看网站 | 丝袜美腿亚洲一区二区 | 亚洲区欧美区综合区自拍区 | 性做久久久久久久久 | 免费人成网站视频在线观看 | 丰满岳乱妇在线观看中字无码 | 成人无码精品一区二区三区 | 成人免费视频在线观看 | 中文字幕无码热在线视频 | 丰满妇女强制高潮18xxxx | 亚洲狠狠色丁香婷婷综合 | 性啪啪chinese东北女人 | 国产日产欧产精品精品app | 男女猛烈xx00免费视频试看 | 色综合久久中文娱乐网 | 国产精品怡红院永久免费 | 久久亚洲中文字幕精品一区 | 精品水蜜桃久久久久久久 | 久久亚洲国产成人精品性色 | 永久免费观看美女裸体的网站 | 亚洲乱码国产乱码精品精 | 国产成人久久精品流白浆 | 天天躁夜夜躁狠狠是什么心态 | 国产精品人人妻人人爽 | 亚洲中文字幕乱码av波多ji | 男人扒开女人内裤强吻桶进去 | 最近免费中文字幕中文高清百度 | 亚洲va中文字幕无码久久不卡 | 中文字幕无码人妻少妇免费 | 999久久久国产精品消防器材 | 无码人妻丰满熟妇区毛片18 | 无码人中文字幕 | 亚洲男女内射在线播放 | 人人超人人超碰超国产 | 免费无码一区二区三区蜜桃大 | 青春草在线视频免费观看 | 高清无码午夜福利视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 日本www一道久久久免费榴莲 | 中文字幕无码日韩专区 | 国产精品.xx视频.xxtv | 成 人影片 免费观看 | 国产精品18久久久久久麻辣 | 亚洲 日韩 欧美 成人 在线观看 | 欧美精品国产综合久久 | 性生交片免费无码看人 | 人妻少妇精品无码专区动漫 | 男人的天堂av网站 | 日本熟妇乱子伦xxxx | 日本大乳高潮视频在线观看 | 欧美精品在线观看 | 无码人妻丰满熟妇区毛片18 | 激情国产av做激情国产爱 | 亚洲 日韩 欧美 成人 在线观看 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲熟妇色xxxxx亚洲 | 免费无码的av片在线观看 | 无码国产乱人伦偷精品视频 | 国产97在线 | 亚洲 | 又色又爽又黄的美女裸体网站 | 日日鲁鲁鲁夜夜爽爽狠狠 | av在线亚洲欧洲日产一区二区 | 无遮无挡爽爽免费视频 | 国产精品理论片在线观看 | 一本久久伊人热热精品中文字幕 | 国产特级毛片aaaaaaa高清 | 欧美野外疯狂做受xxxx高潮 | 欧美国产日韩久久mv | 夜夜影院未满十八勿进 | 无码人中文字幕 | 曰本女人与公拘交酡免费视频 | 日本va欧美va欧美va精品 | 国产精品无码一区二区桃花视频 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲一区二区三区偷拍女厕 | 国产午夜无码视频在线观看 | 欧美三级不卡在线观看 | 人妻无码αv中文字幕久久琪琪布 | 亚洲精品一区二区三区四区五区 | 九九在线中文字幕无码 | 无码任你躁久久久久久久 | 日日天日日夜日日摸 | 蜜臀aⅴ国产精品久久久国产老师 | v一区无码内射国产 | 丰满人妻精品国产99aⅴ | 亚洲人成网站免费播放 | 国产免费观看黄av片 | 2020最新国产自产精品 | 国产精品鲁鲁鲁 | 亚拍精品一区二区三区探花 | 天堂а√在线中文在线 | 未满小14洗澡无码视频网站 | 欧美午夜特黄aaaaaa片 | 成人欧美一区二区三区黑人免费 | 久久精品国产大片免费观看 | 亚洲自偷精品视频自拍 | 在线а√天堂中文官网 | 兔费看少妇性l交大片免费 | 狠狠亚洲超碰狼人久久 | 亚洲精品午夜国产va久久成人 | 国产午夜无码精品免费看 | 日本熟妇乱子伦xxxx | 97夜夜澡人人双人人人喊 | 最近免费中文字幕中文高清百度 | 福利一区二区三区视频在线观看 | 亚洲а∨天堂久久精品2021 | 无码吃奶揉捏奶头高潮视频 | 国产精品毛片一区二区 | 无码人妻久久一区二区三区不卡 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 色一情一乱一伦一区二区三欧美 | 3d动漫精品啪啪一区二区中 | 99riav国产精品视频 | 日本一区二区三区免费播放 | aⅴ亚洲 日韩 色 图网站 播放 | 无码国内精品人妻少妇 | 九九热爱视频精品 | 人人妻人人藻人人爽欧美一区 | 亚洲大尺度无码无码专区 | 伊在人天堂亚洲香蕉精品区 | 少妇激情av一区二区 | 俺去俺来也www色官网 | 国产热a欧美热a在线视频 | av人摸人人人澡人人超碰下载 | 日韩av无码中文无码电影 | 亚洲人成网站在线播放942 | 野外少妇愉情中文字幕 | 少妇无码吹潮 | 国产 精品 自在自线 | v一区无码内射国产 | 亚洲欧美日韩成人高清在线一区 | 给我免费的视频在线观看 | 一区二区三区乱码在线 | 欧洲 | 国产精品人人爽人人做我的可爱 | 国产av剧情md精品麻豆 | 欧美国产亚洲日韩在线二区 | 熟妇人妻无乱码中文字幕 | 国产无遮挡又黄又爽又色 | 国产精品18久久久久久麻辣 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品美女久久久 | 精品久久久久久亚洲精品 | 国产综合色产在线精品 | 精品国产一区av天美传媒 | 国产精品高潮呻吟av久久4虎 | 曰本女人与公拘交酡免费视频 | 午夜精品久久久久久久久 | 久久这里只有精品视频9 | 中文精品久久久久人妻不卡 | 亚洲精品综合五月久久小说 | 丰满肥臀大屁股熟妇激情视频 | 亚洲欧美精品aaaaaa片 | 国产香蕉97碰碰久久人人 | 熟妇女人妻丰满少妇中文字幕 | 成 人 网 站国产免费观看 | 国产精品久久久久9999小说 | 亚洲乱码中文字幕在线 | 老熟女重囗味hdxx69 | 久久这里只有精品视频9 | 欧洲精品码一区二区三区免费看 | 久久人人爽人人人人片 | 伊人久久大香线蕉午夜 | 久久久精品欧美一区二区免费 | 国产精品久久福利网站 | 福利一区二区三区视频在线观看 | 久久亚洲日韩精品一区二区三区 | 人妻中文无码久热丝袜 | 啦啦啦www在线观看免费视频 | 妺妺窝人体色www婷婷 | 男女下面进入的视频免费午夜 | 狠狠色色综合网站 | 国产精品久久久 | 一二三四在线观看免费视频 | 成熟妇人a片免费看网站 | 妺妺窝人体色www婷婷 | 人妻少妇精品无码专区二区 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲精品一区二区三区在线 | 亚洲の无码国产の无码影院 | 久久综合给合久久狠狠狠97色 | 国产99久久精品一区二区 | 亚洲欧美日韩成人高清在线一区 | 国产精品久久久久影院嫩草 | 亚洲热妇无码av在线播放 | 国产网红无码精品视频 | 乱人伦中文视频在线观看 | 成 人影片 免费观看 | 性生交片免费无码看人 | 18禁黄网站男男禁片免费观看 | 欧美人与物videos另类 | 色欲av亚洲一区无码少妇 | 久久国产36精品色熟妇 | 无码福利日韩神码福利片 | 国产成人无码a区在线观看视频app | 国产尤物精品视频 | 欧美老妇交乱视频在线观看 | 亚洲高清偷拍一区二区三区 | 亚洲 日韩 欧美 成人 在线观看 | 国产高清不卡无码视频 | 国内精品久久毛片一区二区 | 人人妻人人澡人人爽欧美一区 | 日韩亚洲欧美中文高清在线 | 欧美丰满熟妇xxxx性ppx人交 | 色噜噜亚洲男人的天堂 | 色综合久久网 | 日韩视频 中文字幕 视频一区 | 亚洲人亚洲人成电影网站色 | 亚洲日韩一区二区三区 | 国内精品久久久久久中文字幕 | 一个人看的www免费视频在线观看 | 精品欧洲av无码一区二区三区 | 在线精品亚洲一区二区 | 永久黄网站色视频免费直播 | 国产凸凹视频一区二区 | 精品国产一区二区三区四区在线看 | 午夜免费福利小电影 | 久久精品国产一区二区三区肥胖 | 双乳奶水饱满少妇呻吟 | 任你躁国产自任一区二区三区 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产在线一区二区三区四区五区 | 精品人妻av区 | 国产精品久久久 | 欧美日韩亚洲国产精品 | 久久97精品久久久久久久不卡 | 久久亚洲国产成人精品性色 | 丝袜足控一区二区三区 | 97精品人妻一区二区三区香蕉 | 熟妇人妻中文av无码 | 亚洲日本一区二区三区在线 | 两性色午夜视频免费播放 | 亚洲毛片av日韩av无码 | 国产精品美女久久久网av | 久久精品国产一区二区三区肥胖 | 国内精品久久久久久中文字幕 | 2019nv天堂香蕉在线观看 | 精品国精品国产自在久国产87 | 国产欧美精品一区二区三区 | 国产亚洲人成在线播放 | 中文字幕无码av波多野吉衣 | 欧美精品无码一区二区三区 | 女人色极品影院 | 成 人影片 免费观看 | 精品人妻人人做人人爽夜夜爽 | 久久久精品欧美一区二区免费 | 欧美激情内射喷水高潮 | 又大又黄又粗又爽的免费视频 | 国产精品久久久久久亚洲毛片 | 婷婷五月综合激情中文字幕 | 无遮无挡爽爽免费视频 | 久久精品国产99精品亚洲 | 欧美丰满熟妇xxxx性ppx人交 | 国产免费久久久久久无码 | 亚洲七七久久桃花影院 | 亚洲第一网站男人都懂 | 国产精品.xx视频.xxtv | 国产成人综合美国十次 | 熟女少妇在线视频播放 | 又大又硬又黄的免费视频 | 亚洲大尺度无码无码专区 | 黑人玩弄人妻中文在线 | 亚洲 高清 成人 动漫 | 熟女少妇在线视频播放 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲s色大片在线观看 | 无码人妻丰满熟妇区毛片18 | 六月丁香婷婷色狠狠久久 | 欧美zoozzooz性欧美 | 国产凸凹视频一区二区 | 日本一区二区更新不卡 | 男女下面进入的视频免费午夜 | 久久精品一区二区三区四区 | 欧美丰满熟妇xxxx性ppx人交 | 欧洲欧美人成视频在线 | 精品厕所偷拍各类美女tp嘘嘘 | 99国产精品白浆在线观看免费 | 老子影院午夜精品无码 | 丰满少妇弄高潮了www | 日日摸夜夜摸狠狠摸婷婷 | 久久99久久99精品中文字幕 | 成熟妇人a片免费看网站 | 色综合久久久无码中文字幕 | 欧美zoozzooz性欧美 | 久久精品国产一区二区三区肥胖 | 国内揄拍国内精品少妇国语 | 亚洲va欧美va天堂v国产综合 | 日产国产精品亚洲系列 | 巨爆乳无码视频在线观看 | 色狠狠av一区二区三区 | 中文无码精品a∨在线观看不卡 | 久久久久久久人妻无码中文字幕爆 | 波多野结衣 黑人 | 久久久久久av无码免费看大片 | 少妇被粗大的猛进出69影院 | 小sao货水好多真紧h无码视频 | 男女作爱免费网站 | 日韩无套无码精品 | 久久久精品人妻久久影视 | 无码毛片视频一区二区本码 | 综合网日日天干夜夜久久 | 国产av人人夜夜澡人人爽麻豆 | 偷窥村妇洗澡毛毛多 | 欧美人与动性行为视频 | 精品久久久久久人妻无码中文字幕 | 久在线观看福利视频 | 欧美xxxx黑人又粗又长 | 久久国产精品_国产精品 | 久久久久免费看成人影片 | 老子影院午夜伦不卡 | 亚洲精品中文字幕久久久久 | 亚洲精品成人福利网站 | 男人扒开女人内裤强吻桶进去 | 国产成人午夜福利在线播放 | 日本爽爽爽爽爽爽在线观看免 | 无码福利日韩神码福利片 | 无套内谢的新婚少妇国语播放 | 十八禁真人啪啪免费网站 | 欧美黑人巨大xxxxx | 午夜精品久久久久久久久 | 亚洲成熟女人毛毛耸耸多 | 日韩亚洲欧美精品综合 | 久久久久成人精品免费播放动漫 | 麻豆国产人妻欲求不满谁演的 | 国产va免费精品观看 | 香港三级日本三级妇三级 | 无码人妻av免费一区二区三区 | 99久久人妻精品免费二区 | 欧美老妇交乱视频在线观看 | 国产成人无码一二三区视频 | 亚洲天堂2017无码中文 | 性欧美牲交在线视频 | 久久zyz资源站无码中文动漫 | 少妇无码吹潮 | 少妇人妻av毛片在线看 | 中文字幕 亚洲精品 第1页 | 在线播放免费人成毛片乱码 | 色一情一乱一伦 | 性欧美熟妇videofreesex | 丝袜人妻一区二区三区 | 奇米影视7777久久精品人人爽 | 未满成年国产在线观看 | 色综合久久网 | 欧美激情综合亚洲一二区 | 久久精品成人欧美大片 | 国内精品人妻无码久久久影院蜜桃 | 日本在线高清不卡免费播放 | 国产明星裸体无码xxxx视频 | 在线观看国产一区二区三区 | 久久精品国产亚洲精品 | 欧美国产日韩亚洲中文 | 图片区 小说区 区 亚洲五月 | 午夜时刻免费入口 | 任你躁在线精品免费 | 久久久久se色偷偷亚洲精品av | 免费无码午夜福利片69 | 狠狠cao日日穞夜夜穞av | 国产精品久久精品三级 | 少妇无码一区二区二三区 | 国产熟妇另类久久久久 | 国产午夜亚洲精品不卡 | 天天躁夜夜躁狠狠是什么心态 | 综合网日日天干夜夜久久 | 成人三级无码视频在线观看 | 国产精品沙发午睡系列 | 欧洲熟妇色 欧美 | 国产乱人伦偷精品视频 | 亚洲爆乳大丰满无码专区 | 亚洲一区二区观看播放 | 成人无码精品1区2区3区免费看 | 亚洲精品一区二区三区在线观看 | 人人爽人人爽人人片av亚洲 | 国语精品一区二区三区 | 中文字幕日韩精品一区二区三区 | 欧美freesex黑人又粗又大 | 国产精品久久国产三级国 | 亚洲另类伦春色综合小说 | 国产精品人人妻人人爽 | 欧美色就是色 | 999久久久国产精品消防器材 | 荡女精品导航 | 色 综合 欧美 亚洲 国产 | 在线播放免费人成毛片乱码 | 天堂а√在线地址中文在线 | 色窝窝无码一区二区三区色欲 | 亚洲精品午夜无码电影网 | 亚洲熟妇色xxxxx欧美老妇 | 青青久在线视频免费观看 | 少妇性俱乐部纵欲狂欢电影 | 任你躁国产自任一区二区三区 | 久9re热视频这里只有精品 | 国产成人无码av一区二区 | 丝袜 中出 制服 人妻 美腿 | 少妇人妻偷人精品无码视频 | 久久精品视频在线看15 | 久久久久99精品国产片 | 国产美女极度色诱视频www | 日本护士xxxxhd少妇 | 午夜福利一区二区三区在线观看 | 性史性农村dvd毛片 | 国产高潮视频在线观看 | 无码人妻久久一区二区三区不卡 | 婷婷色婷婷开心五月四房播播 | 久久99热只有频精品8 | 久久久久99精品成人片 | 俄罗斯老熟妇色xxxx | 任你躁国产自任一区二区三区 | 99久久久无码国产aaa精品 | 亚洲无人区一区二区三区 | 国产精品久久久久9999小说 | 欧美性色19p | 欧美老妇交乱视频在线观看 | 国产极品视觉盛宴 | 成人性做爰aaa片免费看不忠 | 成人亚洲精品久久久久软件 | 亚洲精品国产a久久久久久 | 人妻少妇被猛烈进入中文字幕 | 国产又粗又硬又大爽黄老大爷视 | 俄罗斯老熟妇色xxxx | 国内精品九九久久久精品 | 小鲜肉自慰网站xnxx | 免费无码肉片在线观看 | 日本一卡2卡3卡四卡精品网站 | 成在人线av无码免观看麻豆 | 欧美真人作爱免费视频 | 99er热精品视频 | 无码任你躁久久久久久久 | 丰满诱人的人妻3 | aⅴ亚洲 日韩 色 图网站 播放 | 国产精品永久免费视频 | 5858s亚洲色大成网站www | 性欧美牲交在线视频 | 亚洲人成无码网www | 国产综合在线观看 | 亚洲gv猛男gv无码男同 | 精品人妻人人做人人爽夜夜爽 | 久久久久免费精品国产 | √天堂中文官网8在线 | 无码毛片视频一区二区本码 | 中文无码成人免费视频在线观看 | 欧美 丝袜 自拍 制服 另类 | 中文字幕 人妻熟女 | 久久久久av无码免费网 | 国色天香社区在线视频 | 欧美日韩一区二区免费视频 | 精品熟女少妇av免费观看 | 在线视频网站www色 | 久久国产劲爆∧v内射 | 一本加勒比波多野结衣 | 大胆欧美熟妇xx | 免费观看的无遮挡av | 国产亚洲美女精品久久久2020 | 欧美黑人巨大xxxxx | 亚洲国产综合无码一区 | 久久精品国产精品国产精品污 | 天堂无码人妻精品一区二区三区 | 在线观看欧美一区二区三区 | 亚洲国产av精品一区二区蜜芽 | 欧美性生交活xxxxxdddd | 国产成人午夜福利在线播放 | 性欧美熟妇videofreesex | 久久精品国产日本波多野结衣 | 女高中生第一次破苞av | 日产国产精品亚洲系列 | 亚洲熟悉妇女xxx妇女av | 欧美国产日韩久久mv | 国产一区二区三区四区五区加勒比 | 国产亚洲精品久久久ai换 | 日本一本二本三区免费 | 国内精品久久久久久中文字幕 | 国产成人无码a区在线观看视频app | 亚洲欧美日韩国产精品一区二区 | 久久人人爽人人人人片 | 日韩成人一区二区三区在线观看 | 清纯唯美经典一区二区 | 国内老熟妇对白xxxxhd | 国产av无码专区亚洲awww | 97夜夜澡人人爽人人喊中国片 | 日日麻批免费40分钟无码 | 色综合久久中文娱乐网 | 水蜜桃色314在线观看 | 中文字幕无码av波多野吉衣 | 亚洲国精产品一二二线 | 熟女少妇在线视频播放 | 亚洲成熟女人毛毛耸耸多 | 人人超人人超碰超国产 | 亚洲成色在线综合网站 | 成人女人看片免费视频放人 | 97无码免费人妻超级碰碰夜夜 | 大地资源网第二页免费观看 | 中国女人内谢69xxxxxa片 | 又紧又大又爽精品一区二区 | 狠狠综合久久久久综合网 | 色婷婷欧美在线播放内射 | 成人片黄网站色大片免费观看 | 亚洲日韩av一区二区三区中文 | 国产一区二区三区影院 | 久久99精品久久久久婷婷 | 人妻夜夜爽天天爽三区 | 乱人伦人妻中文字幕无码久久网 | 熟女少妇人妻中文字幕 | 日本熟妇浓毛 | 99久久无码一区人妻 | 亚洲精品中文字幕久久久久 | 亚洲成av人片在线观看无码不卡 | 成人无码影片精品久久久 | 十八禁视频网站在线观看 | 国产精品99久久精品爆乳 | 澳门永久av免费网站 | 无码福利日韩神码福利片 | 四虎影视成人永久免费观看视频 | 国产在线aaa片一区二区99 | 午夜福利试看120秒体验区 | 国产成人精品三级麻豆 | 亚洲中文字幕无码中字 | 无码人妻黑人中文字幕 | 免费中文字幕日韩欧美 | 精品国产国产综合精品 | 精品无码国产一区二区三区av | 99精品无人区乱码1区2区3区 | аⅴ资源天堂资源库在线 | 99久久久国产精品无码免费 | 国内少妇偷人精品视频免费 | 国产无遮挡又黄又爽免费视频 | 欧美性生交xxxxx久久久 | 欧美精品一区二区精品久久 | 西西人体www44rt大胆高清 | 欧美兽交xxxx×视频 | 国产成人精品一区二区在线小狼 | 久久精品国产大片免费观看 | 国产小呦泬泬99精品 | 日韩精品无码一区二区中文字幕 | 曰本女人与公拘交酡免费视频 | 中文字幕av日韩精品一区二区 | 成人免费视频在线观看 | 日韩av无码中文无码电影 | 国产超碰人人爽人人做人人添 | 欧美自拍另类欧美综合图片区 | 男人的天堂2018无码 | 国产人妻精品一区二区三区 | 中文字幕av无码一区二区三区电影 | 一本色道久久综合亚洲精品不卡 | 捆绑白丝粉色jk震动捧喷白浆 | 88国产精品欧美一区二区三区 | 88国产精品欧美一区二区三区 | 亚洲国产高清在线观看视频 | 乌克兰少妇xxxx做受 | 欧美国产亚洲日韩在线二区 | 人妻体内射精一区二区三四 | 国产xxx69麻豆国语对白 | 国产精品18久久久久久麻辣 | 内射巨臀欧美在线视频 | 亚洲a无码综合a国产av中文 | 国产极品美女高潮无套在线观看 | 黑人巨大精品欧美一区二区 | 日本乱人伦片中文三区 | 国产又爽又猛又粗的视频a片 | 亚欧洲精品在线视频免费观看 | 国产av无码专区亚洲a∨毛片 | 中国女人内谢69xxxxxa片 | 久久精品女人天堂av免费观看 | 东京热男人av天堂 | 久久久成人毛片无码 | 欧美兽交xxxx×视频 | 双乳奶水饱满少妇呻吟 | 日本精品人妻无码77777 天堂一区人妻无码 | 男女猛烈xx00免费视频试看 | 精品无码一区二区三区的天堂 | 久久综合给久久狠狠97色 | 大色综合色综合网站 | 亚洲精品一区国产 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产免费久久精品国产传媒 | 国产精品18久久久久久麻辣 | 国产女主播喷水视频在线观看 | 国产午夜手机精彩视频 | 色五月五月丁香亚洲综合网 | 亚洲精品成人福利网站 | 老熟妇仑乱视频一区二区 | 久久精品国产99久久6动漫 | 精品一区二区不卡无码av | 2019午夜福利不卡片在线 | 男女爱爱好爽视频免费看 | 亚洲 欧美 激情 小说 另类 | 亚洲精品一区二区三区在线 | 大地资源网第二页免费观看 | 久久久国产精品无码免费专区 | 日日碰狠狠躁久久躁蜜桃 | 精品一二三区久久aaa片 | 日韩精品久久久肉伦网站 | 国产av一区二区三区最新精品 | 大胆欧美熟妇xx | 成人精品视频一区二区三区尤物 | 日日摸日日碰夜夜爽av | 婷婷色婷婷开心五月四房播播 | 老熟妇乱子伦牲交视频 | av人摸人人人澡人人超碰下载 | 六月丁香婷婷色狠狠久久 | 两性色午夜视频免费播放 | 18禁黄网站男男禁片免费观看 | av在线亚洲欧洲日产一区二区 | 国产精品高潮呻吟av久久4虎 | 久久人妻内射无码一区三区 | 红桃av一区二区三区在线无码av | 午夜精品一区二区三区在线观看 | 日本又色又爽又黄的a片18禁 | 亚洲精品一区二区三区在线观看 | 精品成人av一区二区三区 | 99久久婷婷国产综合精品青草免费 | 色五月五月丁香亚洲综合网 | 欧美 日韩 人妻 高清 中文 | 久久久成人毛片无码 | 大地资源网第二页免费观看 | 国产亚洲欧美日韩亚洲中文色 | 夜精品a片一区二区三区无码白浆 | 一个人看的视频www在线 | 日本精品人妻无码77777 天堂一区人妻无码 | 中文字幕无码av激情不卡 | 国产凸凹视频一区二区 | 东京无码熟妇人妻av在线网址 | 蜜桃臀无码内射一区二区三区 | 欧美第一黄网免费网站 | 强伦人妻一区二区三区视频18 | 午夜福利试看120秒体验区 | 国产精品久久久久久无码 | 欧美肥老太牲交大战 | 亚洲性无码av中文字幕 | a国产一区二区免费入口 | 老司机亚洲精品影院无码 | 国产情侣作爱视频免费观看 | 国产精品久久久久久无码 | 亚洲国产欧美国产综合一区 | 成人性做爰aaa片免费看 | 无码人妻黑人中文字幕 | 亚洲男女内射在线播放 | 国产一区二区三区影院 | 蜜臀aⅴ国产精品久久久国产老师 | 成人动漫在线观看 | 精品 日韩 国产 欧美 视频 | 国产成人综合色在线观看网站 | 日日麻批免费40分钟无码 | 极品嫩模高潮叫床 | 亚洲日韩av一区二区三区四区 | 国产疯狂伦交大片 | 久久午夜无码鲁丝片秋霞 | 国产两女互慰高潮视频在线观看 | 一二三四在线观看免费视频 | 国产人妻精品午夜福利免费 | 中文字幕色婷婷在线视频 | 无码一区二区三区在线观看 | 日韩av激情在线观看 | 荫蒂添的好舒服视频囗交 | av无码久久久久不卡免费网站 | 少妇无码吹潮 | 中文字幕无码热在线视频 | 丰满人妻精品国产99aⅴ | 亚洲乱亚洲乱妇50p | 亚洲精品国偷拍自产在线观看蜜桃 | 成人三级无码视频在线观看 | 国产又爽又猛又粗的视频a片 | 国产成人精品久久亚洲高清不卡 | 天干天干啦夜天干天2017 | 人人爽人人爽人人片av亚洲 | 强开小婷嫩苞又嫩又紧视频 | 久久久久亚洲精品男人的天堂 | 国产舌乚八伦偷品w中 | 国产麻豆精品一区二区三区v视界 | 少妇邻居内射在线 | 国产在线无码精品电影网 | 美女黄网站人色视频免费国产 | 特级做a爰片毛片免费69 | 亚洲精品一区二区三区婷婷月 | 日本精品高清一区二区 | 日日摸日日碰夜夜爽av | 性生交大片免费看女人按摩摩 | 内射巨臀欧美在线视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 日本一卡2卡3卡四卡精品网站 | 欧美午夜特黄aaaaaa片 | 亚洲国产精品一区二区第一页 | 日韩欧美成人免费观看 | 沈阳熟女露脸对白视频 | 午夜精品久久久久久久 | 野外少妇愉情中文字幕 | 亚洲日韩乱码中文无码蜜桃臀网站 | 欧美熟妇另类久久久久久不卡 | 红桃av一区二区三区在线无码av | 国产97在线 | 亚洲 | 久久人人爽人人爽人人片av高清 | 国产亚洲精品久久久久久久 | 欧美日韩一区二区三区自拍 | 大肉大捧一进一出视频出来呀 | 国产美女精品一区二区三区 | 中文字幕无码日韩专区 | 300部国产真实乱 | 99精品国产综合久久久久五月天 | 亚洲国产精品一区二区美利坚 | 亚洲熟妇色xxxxx欧美老妇y | 午夜无码区在线观看 | 人人妻人人澡人人爽欧美精品 | 99国产精品白浆在线观看免费 | 亚洲成av人片在线观看无码不卡 | 亚洲狠狠婷婷综合久久 | 久久综合网欧美色妞网 | 亚洲天堂2017无码 | 亚洲成av人片在线观看无码不卡 | 久久99久久99精品中文字幕 | 日本免费一区二区三区最新 | 亚洲色欲久久久综合网东京热 | 又大又硬又爽免费视频 | 国产精品无套呻吟在线 | 成人片黄网站色大片免费观看 | 最新版天堂资源中文官网 | av在线亚洲欧洲日产一区二区 | 亚洲另类伦春色综合小说 | 精品国产一区二区三区四区 | 亚洲人成影院在线观看 | 免费观看黄网站 | 精品国产麻豆免费人成网站 | 亚洲成a人片在线观看无码 | 无套内射视频囯产 | 色一情一乱一伦 | av在线亚洲欧洲日产一区二区 | 久久久久久国产精品无码下载 | 欧美老人巨大xxxx做受 | 未满成年国产在线观看 | 中文字幕久久久久人妻 | 国产精品对白交换视频 | 久久综合色之久久综合 | 国产精品二区一区二区aⅴ污介绍 | 久久久久久av无码免费看大片 | 六月丁香婷婷色狠狠久久 | 国产艳妇av在线观看果冻传媒 | 无码国内精品人妻少妇 | 国产av人人夜夜澡人人爽麻豆 | 欧洲美熟女乱又伦 | 人人爽人人爽人人片av亚洲 | 久久99精品国产麻豆 | 成熟妇人a片免费看网站 | 特大黑人娇小亚洲女 | 日本熟妇乱子伦xxxx | 国产精品-区区久久久狼 | 无码播放一区二区三区 | 国产成人综合在线女婷五月99播放 | 国产热a欧美热a在线视频 | www国产亚洲精品久久久日本 | 久久婷婷五月综合色国产香蕉 | 97资源共享在线视频 | 97色伦图片97综合影院 | 少妇高潮一区二区三区99 | 欧美xxxxx精品 | 无人区乱码一区二区三区 | 国内精品人妻无码久久久影院蜜桃 | 天堂无码人妻精品一区二区三区 | 亚洲精品久久久久久久久久久 | 国产熟妇高潮叫床视频播放 | 国产精品久久久久久久9999 | 亚洲欧洲日本综合aⅴ在线 | 宝宝好涨水快流出来免费视频 | 国内综合精品午夜久久资源 | 欧美阿v高清资源不卡在线播放 | 日韩无码专区 | 少妇被黑人到高潮喷出白浆 | 国产午夜亚洲精品不卡 | 亚洲国产日韩a在线播放 | 亚洲中文字幕久久无码 | 亚洲精品一区二区三区在线观看 | 一本久久a久久精品亚洲 | 精品 日韩 国产 欧美 视频 | 免费国产黄网站在线观看 | 国产 精品 自在自线 | 久久伊人色av天堂九九小黄鸭 | 中文无码精品a∨在线观看不卡 | 亚洲国产高清在线观看视频 | 丰腴饱满的极品熟妇 | 精品久久综合1区2区3区激情 | 内射爽无广熟女亚洲 | 人人妻人人澡人人爽人人精品浪潮 | 丝袜人妻一区二区三区 | 人妻少妇被猛烈进入中文字幕 | 丝袜足控一区二区三区 | 狠狠色噜噜狠狠狠7777奇米 | 狠狠噜狠狠狠狠丁香五月 | 亚洲精品鲁一鲁一区二区三区 | 99久久精品国产一区二区蜜芽 | 骚片av蜜桃精品一区 | 福利一区二区三区视频在线观看 | 扒开双腿吃奶呻吟做受视频 | 国产欧美熟妇另类久久久 | 久久亚洲国产成人精品性色 | 久久久久99精品成人片 | 日韩欧美中文字幕公布 | 99麻豆久久久国产精品免费 | 乱码av麻豆丝袜熟女系列 | 国产人妻人伦精品1国产丝袜 | 无码国产激情在线观看 | 久久99国产综合精品 | 成人免费视频一区二区 | 人妻少妇精品无码专区动漫 | av无码不卡在线观看免费 | 精品一区二区不卡无码av | 色五月五月丁香亚洲综合网 | 国产日产欧产精品精品app | 日韩无套无码精品 | 亚洲大尺度无码无码专区 | 无码任你躁久久久久久久 | 色综合久久网 | 无码午夜成人1000部免费视频 | 精品aⅴ一区二区三区 | 丰满少妇熟乱xxxxx视频 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 欧美乱妇无乱码大黄a片 | 国产片av国语在线观看 | 无套内谢老熟女 | 国产真人无遮挡作爱免费视频 | 久久国产精品偷任你爽任你 | 亚洲精品久久久久中文第一幕 | 欧美猛少妇色xxxxx | 国产成人一区二区三区在线观看 | 欧洲vodafone精品性 | 国产97人人超碰caoprom | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 97夜夜澡人人双人人人喊 | 国产内射爽爽大片视频社区在线 | 久久国产劲爆∧v内射 | 骚片av蜜桃精品一区 | 麻豆果冻传媒2021精品传媒一区下载 | 丰满人妻一区二区三区免费视频 | 中文字幕久久久久人妻 | 午夜理论片yy44880影院 | 国产熟女一区二区三区四区五区 | 精品国产av色一区二区深夜久久 | 久久天天躁狠狠躁夜夜免费观看 | 久久无码人妻影院 | 丰满人妻翻云覆雨呻吟视频 | 国内丰满熟女出轨videos | 亚洲精品午夜国产va久久成人 | 国产电影无码午夜在线播放 | 中文字幕无线码免费人妻 | 国产精品视频免费播放 | 无码国产激情在线观看 | 精品国偷自产在线 | 少妇无码一区二区二三区 | 免费无码肉片在线观看 | 偷窥村妇洗澡毛毛多 | av人摸人人人澡人人超碰下载 | 夜夜高潮次次欢爽av女 | 成人无码视频在线观看网站 | 77777熟女视频在线观看 а天堂中文在线官网 | 免费国产成人高清在线观看网站 | 国内少妇偷人精品视频免费 | 99久久婷婷国产综合精品青草免费 | 黑人粗大猛烈进出高潮视频 | 亚洲熟妇色xxxxx欧美老妇 | 欧洲精品码一区二区三区免费看 | 老熟女重囗味hdxx69 | 亚洲欧美综合区丁香五月小说 | 久久国产精品_国产精品 | 久久午夜无码鲁丝片秋霞 | 激情亚洲一区国产精品 | 少妇人妻偷人精品无码视频 | 中文字幕乱码亚洲无线三区 | 性色av无码免费一区二区三区 | 欧美野外疯狂做受xxxx高潮 | 人妻尝试又大又粗久久 | 日韩视频 中文字幕 视频一区 | 中文字幕无码热在线视频 | 免费人成网站视频在线观看 | 亚洲国产午夜精品理论片 | 日韩人妻少妇一区二区三区 | 久久人人爽人人人人片 | 日产精品高潮呻吟av久久 | 国产极品美女高潮无套在线观看 | www成人国产高清内射 | 无码国产激情在线观看 | 国产成人精品优优av | 久久久久se色偷偷亚洲精品av | 激情爆乳一区二区三区 | 精品无码一区二区三区爱欲 | 欧美日韩一区二区免费视频 | 色五月五月丁香亚洲综合网 | 在线天堂新版最新版在线8 | 色欲综合久久中文字幕网 | 乌克兰少妇性做爰 | 色综合视频一区二区三区 | 久久无码人妻影院 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产成人人人97超碰超爽8 | 欧美日本精品一区二区三区 | 国产舌乚八伦偷品w中 | 国产香蕉尹人视频在线 | 日日橹狠狠爱欧美视频 | 日产国产精品亚洲系列 | 亚洲一区二区三区无码久久 | 丰满少妇人妻久久久久久 | а√天堂www在线天堂小说 | 精品人人妻人人澡人人爽人人 | 午夜嘿嘿嘿影院 | 欧美性生交活xxxxxdddd | 色综合久久久无码中文字幕 | 国产真实乱对白精彩久久 | 97无码免费人妻超级碰碰夜夜 | 亚洲色大成网站www国产 | 色诱久久久久综合网ywww | 国产精品无码一区二区三区不卡 | 女人和拘做爰正片视频 | 日韩人妻无码一区二区三区久久99 | 内射老妇bbwx0c0ck | 欧美人与动性行为视频 | 久久亚洲中文字幕无码 | 国产97人人超碰caoprom | 中文字幕人妻丝袜二区 | 国语自产偷拍精品视频偷 | 玩弄人妻少妇500系列视频 | 国产人妖乱国产精品人妖 | 波多野结衣高清一区二区三区 | 久久精品国产一区二区三区肥胖 | 国产精品永久免费视频 | 国内丰满熟女出轨videos | 好爽又高潮了毛片免费下载 | 国产精品99爱免费视频 | 性欧美熟妇videofreesex | 欧美成人免费全部网站 | 荫蒂被男人添的好舒服爽免费视频 | 一区二区三区高清视频一 | 亚洲乱码日产精品bd | 成年美女黄网站色大免费视频 | 亚洲欧美日韩综合久久久 | 亚洲色偷偷男人的天堂 | 亚洲男人av天堂午夜在 | 国产9 9在线 | 中文 | 国产人成高清在线视频99最全资源 | 久久亚洲日韩精品一区二区三区 | 久久久久av无码免费网 | 中文字幕无码日韩专区 | 98国产精品综合一区二区三区 | 少妇一晚三次一区二区三区 | 偷窥日本少妇撒尿chinese | 欧美日韩综合一区二区三区 | 日韩在线不卡免费视频一区 | 女高中生第一次破苞av | 国产成人人人97超碰超爽8 | 蜜臀av无码人妻精品 | 97久久精品无码一区二区 | 免费无码肉片在线观看 | 无码人妻av免费一区二区三区 | 亚洲理论电影在线观看 | 1000部啪啪未满十八勿入下载 | 国产精品18久久久久久麻辣 | 丰满人妻翻云覆雨呻吟视频 | 国产亚洲精品久久久久久 | 亚洲小说春色综合另类 | 内射爽无广熟女亚洲 | 国产午夜亚洲精品不卡下载 | 欧美 日韩 人妻 高清 中文 | 日本成熟视频免费视频 | 国产又爽又猛又粗的视频a片 | 男人的天堂av网站 | 欧美丰满老熟妇xxxxx性 | 少妇邻居内射在线 | 午夜无码区在线观看 | 天天拍夜夜添久久精品 | 欧美日韩在线亚洲综合国产人 | 天天摸天天碰天天添 | 麻豆md0077饥渴少妇 | 久久zyz资源站无码中文动漫 | 无码乱肉视频免费大全合集 | 97夜夜澡人人双人人人喊 | 日韩精品一区二区av在线 | 九九热爱视频精品 | 精品久久久久久亚洲精品 | 欧美兽交xxxx×视频 | 久久综合色之久久综合 | 精品无码一区二区三区的天堂 | 2020久久香蕉国产线看观看 | 欧美黑人巨大xxxxx | 亚洲精品一区二区三区四区五区 | 久久久久免费精品国产 | 极品尤物被啪到呻吟喷水 | 亚洲 a v无 码免 费 成 人 a v | 2019午夜福利不卡片在线 | 全黄性性激高免费视频 | 成年女人永久免费看片 | 久久人人97超碰a片精品 | 人人妻人人澡人人爽人人精品浪潮 | 夜夜夜高潮夜夜爽夜夜爰爰 | 免费观看激色视频网站 | 婷婷丁香六月激情综合啪 | 欧美日韩一区二区三区自拍 | 亚欧洲精品在线视频免费观看 | 一二三四社区在线中文视频 | 鲁大师影院在线观看 | 欧美老熟妇乱xxxxx | 成人亚洲精品久久久久软件 | 性欧美熟妇videofreesex | 亲嘴扒胸摸屁股激烈网站 | av人摸人人人澡人人超碰下载 | 少妇无码一区二区二三区 | 亚洲一区二区三区播放 | 欧洲欧美人成视频在线 | 国产9 9在线 | 中文 | 国产激情综合五月久久 | 荫蒂被男人添的好舒服爽免费视频 | 国产麻豆精品精东影业av网站 | 自拍偷自拍亚洲精品10p | 人人妻人人澡人人爽精品欧美 | 蜜桃视频韩日免费播放 | 欧美老人巨大xxxx做受 | 亚洲天堂2017无码中文 | 欧美熟妇另类久久久久久多毛 | 亚洲中文字幕在线观看 | 四虎国产精品一区二区 | 人人妻人人藻人人爽欧美一区 | 四虎国产精品一区二区 | 欧美日韩色另类综合 | 亚洲狠狠婷婷综合久久 | 给我免费的视频在线观看 | 自拍偷自拍亚洲精品10p | 欧美喷潮久久久xxxxx | 久久久久久a亚洲欧洲av冫 | 中文精品无码中文字幕无码专区 | 亚洲经典千人经典日产 | 99精品视频在线观看免费 | 亚洲欧美精品aaaaaa片 | 欧美zoozzooz性欧美 | 久久婷婷五月综合色国产香蕉 | 无码吃奶揉捏奶头高潮视频 | 欧美xxxx黑人又粗又长 | 国产人成高清在线视频99最全资源 | 一本大道久久东京热无码av | 无码国产激情在线观看 | а√资源新版在线天堂 | 午夜熟女插插xx免费视频 | 国内精品久久毛片一区二区 | 国产成人精品三级麻豆 | 又粗又大又硬又长又爽 | 国产做国产爱免费视频 | 亚洲日韩av一区二区三区中文 | 亚洲第一网站男人都懂 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品人妻一区二区三区四 | 人妻少妇精品无码专区二区 | 亚洲综合色区中文字幕 | 久久人人爽人人爽人人片ⅴ | 国产乱人伦偷精品视频 | 亚洲啪av永久无码精品放毛片 | 亚洲码国产精品高潮在线 | 无码国产乱人伦偷精品视频 | 人妻天天爽夜夜爽一区二区 | 亚洲色欲久久久综合网东京热 | 亚洲国产精品久久久天堂 | 亚洲日本va中文字幕 | 波多野结衣av在线观看 | 成人精品视频一区二区三区尤物 | 国产综合色产在线精品 | 四虎国产精品免费久久 | 欧美xxxx黑人又粗又长 | 青草青草久热国产精品 | 国产人妻精品一区二区三区 | 国产精品办公室沙发 | 伊人色综合久久天天小片 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产真人无遮挡作爱免费视频 | 国产尤物精品视频 | 亚洲va中文字幕无码久久不卡 | 荡女精品导航 | 成人女人看片免费视频放人 | 亚洲精品国产a久久久久久 | 欧美性生交xxxxx久久久 | 少妇邻居内射在线 | 成人无码精品一区二区三区 | 小鲜肉自慰网站xnxx | 国内少妇偷人精品视频免费 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲成av人片天堂网无码】 | 国产成人无码区免费内射一片色欲 | 国产精品亚洲一区二区三区喷水 | 国产精品沙发午睡系列 | 日本一卡2卡3卡四卡精品网站 | 东京无码熟妇人妻av在线网址 | 国产免费无码一区二区视频 | 国产精品无码成人午夜电影 | 亚洲欧美综合区丁香五月小说 | 欧美喷潮久久久xxxxx | 草草网站影院白丝内射 | 日韩欧美中文字幕公布 | 国产午夜视频在线观看 | 亚洲精品中文字幕 | 亚洲日韩av一区二区三区四区 | 亚洲日本va中文字幕 | 日本丰满熟妇videos | 亚洲色欲久久久综合网东京热 | 精品国产国产综合精品 | 国产三级精品三级男人的天堂 | 久久精品中文字幕一区 | 熟女少妇人妻中文字幕 | 日韩少妇内射免费播放 | 久久成人a毛片免费观看网站 | 欧美精品国产综合久久 | 亚洲欧美综合区丁香五月小说 | 一本大道久久东京热无码av | 亚洲日韩一区二区三区 | 亚洲日韩av片在线观看 | 国产精品丝袜黑色高跟鞋 | 人妻无码久久精品人妻 | 久久精品成人欧美大片 | 欧美性猛交xxxx富婆 | 成人无码精品1区2区3区免费看 | 日日干夜夜干 | 欧美人妻一区二区三区 | 亚洲熟妇色xxxxx欧美老妇 | 性做久久久久久久免费看 | 乱人伦人妻中文字幕无码久久网 | 无码人妻精品一区二区三区下载 | 内射巨臀欧美在线视频 | 少妇高潮喷潮久久久影院 | 性生交片免费无码看人 | 99久久久国产精品无码免费 | 久久久久久av无码免费看大片 | 国产两女互慰高潮视频在线观看 | 中文字幕av无码一区二区三区电影 | 动漫av网站免费观看 | √天堂资源地址中文在线 | 国产精品99久久精品爆乳 | 国产艳妇av在线观看果冻传媒 | 丁香花在线影院观看在线播放 | 人妻少妇精品无码专区二区 | 天堂亚洲2017在线观看 | 丰满人妻被黑人猛烈进入 | 国产又爽又猛又粗的视频a片 | 色妞www精品免费视频 | 无码av免费一区二区三区试看 | 国产卡一卡二卡三 | yw尤物av无码国产在线观看 | a在线观看免费网站大全 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲日韩精品欧美一区二区 | 国产精品久久久久久久9999 | 成 人 网 站国产免费观看 | 久久综合给久久狠狠97色 | 国产小呦泬泬99精品 | 免费人成在线观看网站 | 久久精品国产一区二区三区 | 波多野结衣一区二区三区av免费 |