日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql详细学习教程(二)

發布時間:2023/12/31 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql详细学习教程(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 把查詢結果去除重復記錄【distinct】
  • 連接查詢
    • 什么是連接查詢
    • 連接查詢的分類
    • 當兩張表進行連接查詢時,沒有任何條件的限制會發生什么現象?
    • 怎么避免笛卡爾積現象
    • 內連接之等值連接
    • 內連接之非等值連接
    • 內連接之自連接
    • 外連接
    • 三張表,四張表怎么連接
  • 子查詢
    • 什么是子查詢
    • 子查詢都可以出現在哪里呢
    • where子句中的子查詢
    • from子句中的子查詢
    • select后面出現的子查詢(這個內容不需要掌握,了解即可!!!)
  • union合并查詢結果集
  • limit(非常重要)
    • limit作用:將查詢結果集的一部分取出來。通常使用在分頁查詢當中
    • limit怎么用呢
    • 注意:mysql當中limit在order by之后執行!!!!!!
    • 取出工資排名在[3-5]名的員工?
    • 取出工資排名在[5-9]名的員工
    • 分頁
  • 關于DQL語句的大總結
  • 表的創建 (建表)
    • 建表的語法格式:(建表屬于DDL語句,DDL包括:create drop alter)
    • 關于mysql中的數據類型
    • 創建一個學生表
    • 插入數據insert (DML)
    • insert插入日期
    • date和datetime兩個類型的區別
    • 修改update(DML)
    • 刪除數據 delete (DML)

把查詢結果去除重復記錄【distinct】

注意:原表數據不會被修改,只是查詢結果去重。
去重需要使用一個關鍵字:distinct

mysql> select distinct job from emp; +-----------+ | job | +-----------+ | CLERK | | SALESMAN | | MANAGER | | ANALYST | | PRESIDENT | +-----------+

// 這樣編寫是錯誤的,語法錯誤。
// distinct只能出現在所有字段的最前方。
mysql> select ename,distinct job from emp;

// distinct出現在job,deptno兩個字段之前,表示兩個字段聯合起來去重。

mysql> select distinct job,deptno from emp; +-----------+--------+ | job | deptno | +-----------+--------+ | CLERK | 20 | | SALESMAN | 30 | | MANAGER | 20 | | MANAGER | 30 | | MANAGER | 10 | | ANALYST | 20 | | PRESIDENT | 10 | | CLERK | 30 | | CLERK | 10 | +-----------+--------+

統計一下工作崗位的數量?

select count(distinct job) from emp;+---------------------+| count(distinct job) |+---------------------+| 5 |+---------------------+

連接查詢

什么是連接查詢

從一張表中單獨查詢,稱為單表查詢。
emp表和dept表聯合起來查詢數據,從emp表中取員工名字,從dept表中取部門名字。
這種跨表查詢,多張表聯合起來查詢數據,被稱為連接查詢。

連接查詢的分類

根據語法的年代分類:
SQL92:1992年的時候出現的語法
SQL99:1999年的時候出現的語法
我們這里重點學習SQL99.(這個過程中簡單演示一個SQL92的例子)

根據表連接的方式分類:
內連接:
等值連接
非等值連接
自連接

外連接:
左外連接(左連接)
右外連接(右連接)

全連接(不講)

當兩張表進行連接查詢時,沒有任何條件的限制會發生什么現象?

案例:查詢每個員工所在部門名稱?

mysql> select ename,deptno from emp;+--------+--------+| ename | deptno |+--------+--------+| SMITH | 20 || ALLEN | 30 || WARD | 30 || JONES | 20 || MARTIN | 30 || BLAKE | 30 || CLARK | 10 || SCOTT | 20 || KING | 10 || TURNER | 30 || ADAMS | 20 || JAMES | 30 || FORD | 20 || MILLER | 10 |+--------+--------+mysql> select * from dept;+--------+------------+----------+| DEPTNO | DNAME | LOC |+--------+------------+----------+| 10 | ACCOUNTING | NEW YORK || 20 | RESEARCH | DALLAS || 30 | SALES | CHICAGO || 40 | OPERATIONS | BOSTON |+--------+------------+----------+兩張表連接沒有任何條件限制:select ename,dname from emp, dept;+--------+------------+| ename | dname |+--------+------------+| SMITH | ACCOUNTING || SMITH | RESEARCH || SMITH | SALES || SMITH | OPERATIONS || ALLEN | ACCOUNTING || ALLEN | RESEARCH || ALLEN | SALES || ALLEN | OPERATIONS |...56 rows in set (0.00 sec)14 * 4 = 56

當兩張表進行連接查詢,沒有任何條件限制的時候,最終查詢結果條數,是兩張表條數的乘積,這種現象被稱為:笛卡爾積現象。(笛卡爾發現的,這是一個數學現象。)

怎么避免笛卡爾積現象

連接時加條件,滿足這個條件的記錄被篩選出來!
select
ename,dname
from
emp, dept
where
emp.deptno = dept.deptno;

select emp.ename,dept.dname from emp, dept whereemp.deptno = dept.deptno;// 表起別名。很重要。效率問題。 select e.ename,d.dname from emp e, dept d wheree.deptno = d.deptno; //SQL92語法。+--------+------------+ | ename | dname | +--------+------------+ | CLARK | ACCOUNTING | | KING | ACCOUNTING | | MILLER | ACCOUNTING | | SMITH | RESEARCH | | JONES | RESEARCH | | SCOTT | RESEARCH | | ADAMS | RESEARCH | | FORD | RESEARCH | | ALLEN | SALES | | WARD | SALES | | MARTIN | SALES | | BLAKE | SALES | | TURNER | SALES | | JAMES | SALES | +--------+------------+

思考:最終查詢的結果條數是14條,但是匹配的過程中,匹配的次數減少了嗎?
還是56次,只不過進行了四選一。次數沒有減少。

注意:通過笛卡爾積現象得出,表的連接次數越多效率越低,盡量避免表的
連接次數。

內連接之等值連接

案例:查詢每個員工所在部門名稱,顯示員工名和部門名?
emp e和dept d表進行連接。條件是:e.deptno = d.deptno

SQL92語法:

select e.ename,d.dname fromemp e, dept d wheree.deptno = d.deptno;

sql92的缺點:結構不清晰,表的連接條件,和后期進一步篩選的條件,都放到了where后面。

SQL99語法:

select e.ename,d.dname fromemp e joindept d one.deptno = d.deptno;

//inner可以省略(帶著inner可讀性更好!!!一眼就能看出來是內連接)

select e.ename,d.dname fromemp e inner joindept d one.deptno = d.deptno; // 條件是等量關系,所以被稱為等值連接。

sql99優點:表連接的條件是獨立的,連接之后,如果還需要進一步篩選,再往后繼續添加where

SQL99語法:

select ...fromajoinbona和b的連接條件where篩選條件

內連接之非等值連接

案例:找出每個員工的薪資等級,要求顯示員工名、薪資、薪資等級?

mysql> select * from emp; e +-------+--------+-----------+------+------------+---------+---------+--------+ | EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO | +-------+--------+-----------+------+------------+---------+---------+--------+ | 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | | 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | | 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | | 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | ....mysql> select * from salgrade; s +-------+-------+-------+ | GRADE | LOSAL | HISAL | +-------+-------+-------+ | 1 | 700 | 1200 | | 2 | 1201 | 1400 | | 3 | 1401 | 2000 | | 4 | 2001 | 3000 | | 5 | 3001 | 9999 | +-------+-------+-------+select e.ename, e.sal, s.grade fromemp e joinsalgrade s one.sal between s.losal and s.hisal; // 條件不是一個等量關系,稱為非等值連接。select e.ename, e.sal, s.grade fromemp e inner joinsalgrade s one.sal between s.losal and s.hisal;+--------+---------+-------+ | ename | sal | grade | +--------+---------+-------+ | SMITH | 800.00 | 1 | | ALLEN | 1600.00 | 3 | | WARD | 1250.00 | 2 | | JONES | 2975.00 | 4 | | MARTIN | 1250.00 | 2 | | BLAKE | 2850.00 | 4 | | CLARK | 2450.00 | 4 | | SCOTT | 3000.00 | 4 | | KING | 5000.00 | 5 | | TURNER | 1500.00 | 3 | | ADAMS | 1100.00 | 1 | | JAMES | 950.00 | 1 | | FORD | 3000.00 | 4 | | MILLER | 1300.00 | 2 | +--------+---------+-------+

內連接之自連接

案例:查詢員工的上級領導,要求顯示員工名和對應的領導名?

mysql> select empno,ename,mgr from emp; +-------+--------+------+ | empno | ename | mgr | +-------+--------+------+ | 7369 | SMITH | 7902 | | 7499 | ALLEN | 7698 | | 7521 | WARD | 7698 | | 7566 | JONES | 7839 | | 7654 | MARTIN | 7698 | | 7698 | BLAKE | 7839 | | 7782 | CLARK | 7839 | | 7788 | SCOTT | 7566 | | 7839 | KING | NULL | | 7844 | TURNER | 7698 | | 7876 | ADAMS | 7788 | | 7900 | JAMES | 7698 | | 7902 | FORD | 7566 | | 7934 | MILLER | 7782 | +-------+--------+------+技巧:一張表看成兩張表。 emp a 員工表 +-------+--------+------+ | empno | ename | mgr | +-------+--------+------+ | 7369 | SMITH | 7902 | | 7499 | ALLEN | 7698 | | 7521 | WARD | 7698 | | 7566 | JONES | 7839 | | 7654 | MARTIN | 7698 | | 7698 | BLAKE | 7839 | | 7782 | CLARK | 7839 | | 7788 | SCOTT | 7566 | | 7839 | KING | NULL | | 7844 | TURNER | 7698 | | 7876 | ADAMS | 7788 | | 7900 | JAMES | 7698 | | 7902 | FORD | 7566 | | 7934 | MILLER | 7782 | +-------+--------+------+emp b 領導表 +-------+--------+------+ | empno | ename | mgr | +-------+--------+------+ | 7369 | SMITH | 7902 | | 7499 | ALLEN | 7698 | | 7521 | WARD | 7698 | | 7566 | JONES | 7839 | | 7654 | MARTIN | 7698 | | 7698 | BLAKE | 7839 | | 7782 | CLARK | 7839 | | 7788 | SCOTT | 7566 | | 7839 | KING | NULL | | 7844 | TURNER | 7698 | | 7876 | ADAMS | 7788 | | 7900 | JAMES | 7698 | | 7902 | FORD | 7566 | | 7934 | MILLER | 7782 | +-------+--------+------+select a.ename as '員工名', b.ename as '領導名' fromemp a joinemp b ona.mgr = b.empno; //員工的領導編號 = 領導的員工編號+--------+--------+ | 員工名 | 領導名| +--------+--------+ | SMITH | FORD | | ALLEN | BLAKE | | WARD | BLAKE | | JONES | KING | | MARTIN | BLAKE | | BLAKE | KING | | CLARK | KING | | SCOTT | JONES | | TURNER | BLAKE | | ADAMS | SCOTT | | JAMES | BLAKE | | FORD | JONES | | MILLER | CLARK | +--------+--------+

13條記錄,沒有KING。《內連接》

以上就是內連接中的:自連接,技巧:一張表看做兩張表。

外連接

mysql> select * from emp; e +-------+--------+-----------+------+------------+---------+---------+--------+ | EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO | +-------+--------+-----------+------+------------+---------+---------+--------+ | 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | | 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | | 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | | 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | | 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 | | 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 | | 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 | | 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000.00 | NULL | 20 | | 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.00 | NULL | 10 | | 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500.00 | 0.00 | 30 | | 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100.00 | NULL | 20 | | 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950.00 | NULL | 30 | | 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20 | | 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300.00 | NULL | 10 | +-------+--------+-----------+------+------------+---------+---------+--------+mysql> select * from dept; d +--------+------------+----------+ | DEPTNO | DNAME | LOC | +--------+------------+----------+ | 10 | ACCOUNTING | NEW YORK | | 20 | RESEARCH | DALLAS | | 30 | SALES | CHICAGO | | 40 | OPERATIONS | BOSTON | +--------+------------+----------+內連接:(A和B連接,AB兩張表沒有主次關系。平等的。) select e.ename,d.dname fromemp e joindept d one.deptno = d.deptno; //內連接的特點:完成能夠匹配上這個條件的數據查詢出來。+--------+------------+ | ename | dname | +--------+------------+ | CLARK | ACCOUNTING | | KING | ACCOUNTING | | MILLER | ACCOUNTING | | SMITH | RESEARCH | | JONES | RESEARCH | | SCOTT | RESEARCH | | ADAMS | RESEARCH | | FORD | RESEARCH | | ALLEN | SALES | | WARD | SALES | | MARTIN | SALES | | BLAKE | SALES | | TURNER | SALES | | JAMES | SALES | +--------+------------+外連接(右外連接): select e.ename,d.dname fromemp e right join dept d one.deptno = d.deptno;// outer是可以省略的,帶著可讀性強。 select e.ename,d.dname fromemp e right outer join dept d one.deptno = d.deptno;

right代表什么:表示將join關鍵字右邊的這張表看成主表,主要是為了將
這張表的數據全部查詢出來,捎帶著關聯查詢左邊的表。
在外連接當中,兩張表連接,產生了主次關系。

外連接(左外連接): select e.ename,d.dname fromdept d left join emp e one.deptno = d.deptno;// outer是可以省略的,帶著可讀性強。 select e.ename,d.dname fromdept d left outer join emp e one.deptno = d.deptno;

帶有right的是右外連接,又叫做右連接。
帶有left的是左外連接,又叫做左連接。
任何一個右連接都有左連接的寫法。
任何一個左連接都有右連接的寫法。

+--------+------------+ | ename | dname | +--------+------------+ | CLARK | ACCOUNTING | | KING | ACCOUNTING | | MILLER | ACCOUNTING | | SMITH | RESEARCH | | JONES | RESEARCH | | SCOTT | RESEARCH | | ADAMS | RESEARCH | | FORD | RESEARCH | | ALLEN | SALES | | WARD | SALES | | MARTIN | SALES | | BLAKE | SALES | | TURNER | SALES | | JAMES | SALES | | NULL | OPERATIONS | +--------+------------+

思考:外連接的查詢結果條數一定是 >= 內連接的查詢結果條數?
正確。

案例:查詢每個員工的上級領導,要求顯示所有員工的名字和領導名?

select a.ename as '員工名', b.ename as '領導名' fromemp a left joinemp b ona.mgr = b.empno; +--------+--------+ | 員工名 | 領導名 | +--------+--------+ | SMITH | FORD | | ALLEN | BLAKE | | WARD | BLAKE | | JONES | KING | | MARTIN | BLAKE | | BLAKE | KING | | CLARK | KING | | SCOTT | JONES | | KING | NULL | | TURNER | BLAKE | | ADAMS | SCOTT | | JAMES | BLAKE | | FORD | JONES | | MILLER | CLARK | +--------+--------+

三張表,四張表怎么連接

語法:
select

from
a
join
b
on
a和b的連接條件
join
c
on
a和c的連接條件
right join
d
on
a和d的連接條件

一條SQL中內連接和外連接可以混合。都可以出現!

案例:找出每個員工的部門名稱以及工資等級,
要求顯示員工名、部門名、薪資、薪資等級?

select e.ename,e.sal,d.dname,s.grade fromemp e joindept d on e.deptno = d.deptno joinsalgrade s one.sal between s.losal and s.hisal;+--------+---------+------------+-------+ | ename | sal | dname | grade | +--------+---------+------------+-------+ | SMITH | 800.00 | RESEARCH | 1 | | ALLEN | 1600.00 | SALES | 3 | | WARD | 1250.00 | SALES | 2 | | JONES | 2975.00 | RESEARCH | 4 | | MARTIN | 1250.00 | SALES | 2 | | BLAKE | 2850.00 | SALES | 4 | | CLARK | 2450.00 | ACCOUNTING | 4 | | SCOTT | 3000.00 | RESEARCH | 4 | | KING | 5000.00 | ACCOUNTING | 5 | | TURNER | 1500.00 | SALES | 3 | | ADAMS | 1100.00 | RESEARCH | 1 | | JAMES | 950.00 | SALES | 1 | | FORD | 3000.00 | RESEARCH | 4 | | MILLER | 1300.00 | ACCOUNTING | 2 | +--------+---------+------------+-------+

案例:找出每個員工的部門名稱以及工資等級,還有上級領導,
要求顯示員工名、領導名、部門名、薪資、薪資等級?

select e.ename,e.sal,d.dname,s.grade,l.ename fromemp e joindept d on e.deptno = d.deptno joinsalgrade s one.sal between s.losal and s.hisal left joinemp l one.mgr = l.empno;+--------+---------+------------+-------+-------+ | ename | sal | dname | grade | ename | +--------+---------+------------+-------+-------+ | SMITH | 800.00 | RESEARCH | 1 | FORD | | ALLEN | 1600.00 | SALES | 3 | BLAKE | | WARD | 1250.00 | SALES | 2 | BLAKE | | JONES | 2975.00 | RESEARCH | 4 | KING | | MARTIN | 1250.00 | SALES | 2 | BLAKE | | BLAKE | 2850.00 | SALES | 4 | KING | | CLARK | 2450.00 | ACCOUNTING | 4 | KING | | SCOTT | 3000.00 | RESEARCH | 4 | JONES | | KING | 5000.00 | ACCOUNTING | 5 | NULL | | TURNER | 1500.00 | SALES | 3 | BLAKE | | ADAMS | 1100.00 | RESEARCH | 1 | SCOTT | | JAMES | 950.00 | SALES | 1 | BLAKE | | FORD | 3000.00 | RESEARCH | 4 | JONES | | MILLER | 1300.00 | ACCOUNTING | 2 | CLARK | +--------+---------+------------+-------+-------+

子查詢

什么是子查詢

select語句中嵌套select語句,被嵌套的select語句稱為子查詢。

子查詢都可以出現在哪里呢

select
…(select).
from
…(select).
where
…(select).

where子句中的子查詢

案例:找出比最低工資高的員工姓名和工資?

select ename,salfromemp wheresal > min(sal);ERROR 1111 (HY000): Invalid use of group functionwhere子句中不能直接使用分組函數。

實現思路:
第一步:查詢最低工資是多少

select min(sal) from emp;+----------+| min(sal) |+----------+| 800.00 |+----------+

第二步:找出>800的

select ename,sal from emp where sal > 800;

第三步:合并

select ename,sal from emp where sal > (select min(sal) from emp);+--------+---------+| ename | sal |+--------+---------+| ALLEN | 1600.00 || WARD | 1250.00 || JONES | 2975.00 || MARTIN | 1250.00 || BLAKE | 2850.00 || CLARK | 2450.00 || SCOTT | 3000.00 || KING | 5000.00 || TURNER | 1500.00 || ADAMS | 1100.00 || JAMES | 950.00 || FORD | 3000.00 || MILLER | 1300.00 |+--------+---------+

from子句中的子查詢

注意:from后面的子查詢,可以將子查詢的查詢結果當做一張臨時表。(技巧)

案例:找出每個崗位的平均工資的薪資等級。

第一步:找出每個崗位的平均工資(按照崗位分組求平均值)

select job,avg(sal) from emp group by job;+-----------+-------------+| job | avgsal |+-----------+-------------+| ANALYST | 3000.000000 || CLERK | 1037.500000 || MANAGER | 2758.333333 || PRESIDENT | 5000.000000 || SALESMAN | 1400.000000 |+-----------+-------------+t表

第二步:克服心理障礙,把以上的查詢結果就當做一張真實存在的表t。

mysql> select * from salgrade; s表 +-------+-------+-------+ | GRADE | LOSAL | HISAL | +-------+-------+-------+ | 1 | 700 | 1200 | | 2 | 1201 | 1400 | | 3 | 1401 | 2000 | | 4 | 2001 | 3000 | | 5 | 3001 | 9999 | +-------+-------+-------+

t表和s表進行表連接,條件:t表avg(sal) between s.losal and s.hisal;

select t.*, s.gradefrom(select job,avg(sal) as avgsal from emp group by job) tjoinsalgrade sont.avgsal between s.losal and s.hisal;+-----------+-------------+-------+| job | avgsal | grade |+-----------+-------------+-------+| CLERK | 1037.500000 | 1 || SALESMAN | 1400.000000 | 2 || ANALYST | 3000.000000 | 4 || MANAGER | 2758.333333 | 4 || PRESIDENT | 5000.000000 | 5 |+-----------+-------------+-------+

select后面出現的子查詢(這個內容不需要掌握,了解即可!!!)

案例:找出每個員工的部門名稱,要求顯示員工名,部門名?

select e.ename,e.deptno,(select d.dname from dept d where e.deptno = d.deptno) as dname from emp e;+--------+--------+------------+ | ename | deptno | dname | +--------+--------+------------+ | SMITH | 20 | RESEARCH | | ALLEN | 30 | SALES | | WARD | 30 | SALES | | JONES | 20 | RESEARCH | | MARTIN | 30 | SALES | | BLAKE | 30 | SALES | | CLARK | 10 | ACCOUNTING | | SCOTT | 20 | RESEARCH | | KING | 10 | ACCOUNTING | | TURNER | 30 | SALES | | ADAMS | 20 | RESEARCH | | JAMES | 30 | SALES | | FORD | 20 | RESEARCH | | MILLER | 10 | ACCOUNTING | +--------+--------+------------+

//錯誤:ERROR 1242 (21000): Subquery returns more than 1 row
select e.ename,e.deptno,(select dname from dept) as dname
from
emp e;

注意:對于select后面的子查詢來說,這個子查詢只能一次返回1條結果, 多于1條,就報錯了。!

union合并查詢結果集

案例:查詢工作崗位是MANAGER和SALESMAN的員工?

select ename,job from emp where job = 'MANAGER' or job = 'SALESMAN'; select ename,job from emp where job in('MANAGER','SALESMAN'); +--------+----------+ | ename | job | +--------+----------+ | ALLEN | SALESMAN | | WARD | SALESMAN | | JONES | MANAGER | | MARTIN | SALESMAN | | BLAKE | MANAGER | | CLARK | MANAGER | | TURNER | SALESMAN | +--------+----------+select ename,job from emp where job = 'MANAGER' union select ename,job from emp where job = 'SALESMAN';+--------+----------+ | ename | job | +--------+----------+ | JONES | MANAGER | | BLAKE | MANAGER | | CLARK | MANAGER | | ALLEN | SALESMAN | | WARD | SALESMAN | | MARTIN | SALESMAN | | TURNER | SALESMAN | +--------+----------+

union的效率要高一些。對于表連接來說,每連接一次新表,
則匹配的次數滿足笛卡爾積,成倍的翻。。。
但是union可以減少匹配的次數。在減少匹配次數的情況下,
還可以完成兩個結果集的拼接。

a 連接 b 連接 c
a 10條記錄
b 10條記錄
c 10條記錄
匹配次數是:1000

a 連接 b一個結果:10 * 10 --> 100次
a 連接 c一個結果:10 * 10 --> 100次
使用union的話是:100次 + 100次 = 200次。(union把乘法變成了加法運算)

union在使用的時候有注意事項嗎?

//錯誤的:union在進行結果集合并的時候,要求兩個結果集的列數相同。 select ename,job from emp where job = 'MANAGER' union select ename from emp where job = 'SALESMAN';// MYSQL可以,oracle語法嚴格 ,不可以,報錯。要求:結果集合并時列和列的數據類型也要一致。 select ename,job from emp where job = 'MANAGER' union select ename,sal from emp where job = 'SALESMAN'; +--------+---------+ | ename | job | +--------+---------+ | JONES | MANAGER | | BLAKE | MANAGER | | CLARK | MANAGER | | ALLEN | 1600 | | WARD | 1250 | | MARTIN | 1250 | | TURNER | 1500 | +--------+---------+

limit(非常重要)

limit作用:將查詢結果集的一部分取出來。通常使用在分頁查詢當中

百度默認:一頁顯示10條記錄。
分頁的作用是為了提高用戶的體驗,因為一次全部都查出來,用戶體驗差。可以一頁一頁翻頁看。

limit怎么用呢

完整用法:limit startIndex, length
startIndex是起始下標,length是長度。
起始下標從0開始。

缺省用法:limit 5; 這是取前5.按照薪資降序,取出排名在前5名的員工? select ename,sal fromemp order by sal desc limit 5; //取前5select ename,sal fromemp order by sal desc limit 0,5;+-------+---------+ | ename | sal | +-------+---------+ | KING | 5000.00 | | SCOTT | 3000.00 | | FORD | 3000.00 | | JONES | 2975.00 | | BLAKE | 2850.00 | +-------+---------+

注意:mysql當中limit在order by之后執行!!!!!!

取出工資排名在[3-5]名的員工?

select ename,sal fromemp order bysal desc limit2, 3;2表示起始位置從下標2開始,就是第三條記錄。 3表示長度。+-------+---------+ | ename | sal | +-------+---------+ | FORD | 3000.00 | | JONES | 2975.00 | | BLAKE | 2850.00 | +-------+---------+

取出工資排名在[5-9]名的員工

select ename,sal fromemp order by sal desc limit4, 5;+--------+---------+ | ename | sal | +--------+---------+ | BLAKE | 2850.00 | | CLARK | 2450.00 | | ALLEN | 1600.00 | | TURNER | 1500.00 | | MILLER | 1300.00 | +--------+---------+

分頁

每頁顯示3條記錄
第1頁:limit 0,3 [0 1 2]
第2頁:limit 3,3 [3 4 5]
第3頁:limit 6,3 [6 7 8]
第4頁:limit 9,3 [9 10 11]

每頁顯示pageSize條記錄
第pageNo頁:limit (pageNo - 1) * pageSize , pageSize

public static void main(String[] args){// 用戶提交過來一個頁碼,以及每頁顯示的記錄條數int pageNo = 5; //第5頁int pageSize = 10; //每頁顯示10條int startIndex = (pageNo - 1) * pageSize;String sql = "select ...limit " + startIndex + ", " + pageSize; }

記公式:
limit (pageNo-1)*pageSize , pageSize

關于DQL語句的大總結

select ... from... where... group by... having... order by... limit...執行順序?1.from2.where3.group by4.having5.select6.order by7.limit..

表的創建 (建表)

建表的語法格式:(建表屬于DDL語句,DDL包括:create drop alter)

create table 表名(字段名1 數據類型, 字段名2 數據類型, 字段名3 數據類型);

create table 表名(字段名1 數據類型, 字段名2 數據類型, 字段名3 數據類型 );表名:建議以t_ 或者 tbl_開始,可讀性強。見名知意。 字段名:見名知意。 表名和字段名都屬于標識符。

關于mysql中的數據類型

很多數據類型,我們只需要掌握一些常見的數據類型即可。

varchar(最長255)可變長度的字符串比較智能,節省空間。會根據實際的數據長度動態分配空間。優點:節省空間缺點:需要動態分配空間,速度慢。char(最長255)定長字符串不管實際的數據長度是多少。分配固定長度的空間去存儲數據。使用不恰當的時候,可能會導致空間的浪費。優點:不需要動態分配空間,速度快。缺點:使用不當可能會導致空間的浪費。varchar和char我們應該怎么選擇?性別字段你選什么?因為性別是固定長度的字符串,所以選擇char。姓名字段你選什么?每一個人的名字長度不同,所以選擇varchar。int(最長11)數字中的整數型。等同于java的int。bigint數字中的長整型。等同于java中的long。float 單精度浮點型數據double雙精度浮點型數據date短日期類型datetime長日期類型clob字符大對象最多可以存儲4G的字符串。比如:存儲一篇文章,存儲一個說明。超過255個字符的都要采用CLOB字符大對象來存儲。Character Large OBject:CLOBblob二進制大對象Binary Large OBject專門用來存儲圖片、聲音、視頻等流媒體數據。往BLOB類型的字段上插入數據的時候,例如插入一個圖片、視頻等,你需要使用IO流才行。t_movie 電影表(專門存儲電影信息的)編號 名字 故事情節 上映日期 時長 海報 類型 no(bigint) name(varchar) history(clob) playtime(date) time(double) image(blob) type(char) ------------------------------------------------------------------------------------------------------------------ 10000 哪吒 ........... 2019-10-11 2.5 .... '1' 10001 林正英之娘娘 ........... 2019-11-11 1.5 .... '2' ....

創建一個學生表

學號、姓名、年齡、性別、郵箱地址

create table t_student(no int,name varchar(32),sex char(1),age int(3),email varchar(255) );刪除表:drop table t_student; // 當這張表不存在的時候會報錯!// 如果這張表存在的話,刪除drop table if exists t_student;

插入數據insert (DML)

語法格式:
insert into 表名(字段名1,字段名2,字段名3…) values(值1,值2,值3);

注意:字段名和值要一一對應。什么是一一對應?數量要對應。數據類型要對應。insert into t_student(no,name,sex,age,email) values(1,'zhangsan','m',20,'zhangsan@123.com'); insert into t_student(email,name,sex,age,no) values('lisi@123.com','lisi','f',20,2);insert into t_student(no) values(3);+------+----------+------+------+------------------+ | no | name | sex | age | email | +------+----------+------+------+------------------+ | 1 | zhangsan | m | 20 | zhangsan@123.com | | 2 | lisi | f | 20 | lisi@123.com | | 3 | NULL | NULL | NULL | NULL | +------+----------+------+------+------------------+ insert into t_student(name) values('wangwu'); +------+----------+------+------+------------------+ | no | name | sex | age | email | +------+----------+------+------+------------------+ | 1 | zhangsan | m | 20 | zhangsan@123.com | | 2 | lisi | f | 20 | lisi@123.com | | 3 | NULL | NULL | NULL | NULL | | NULL | wangwu | NULL | NULL | NULL | +------+----------+------+------+------------------+ 注意:insert語句但凡是執行成功了,那么必然會多一條記錄。 沒有給其它字段指定值的話,默認值是NULL。drop table if exists t_student; create table t_student(no int,name varchar(32),sex char(1) default 'm',age int(3),email varchar(255) );+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | no | int(11) | YES | | NULL | | | name | varchar(32) | YES | | NULL | | | sex | char(1) | YES | | m | | | age | int(3) | YES | | NULL | | | email | varchar(255) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ insert into t_student(no) values(1); mysql> select * from t_student; +------+------+------+------+-------+ | no | name | sex | age | email | +------+------+------+------+-------+ | 1 | NULL | m | NULL | NULL | +------+------+------+------+-------+insert語句中的“字段名”可以省略嗎?可以insert into t_student values(2); //錯誤的// 注意:前面的字段名省略的話,等于都寫上了!所以值也要都寫上!insert into t_student values(2, 'lisi', 'f', 20, 'lisi@123.com');+------+------+------+------+--------------+| no | name | sex | age | email |+------+------+------+------+--------------+| 1 | NULL | m | NULL | NULL || 2 | lisi | f | 20 | lisi@123.com |+------+------+------+------+--------------+

insert插入日期

數字格式化:format

select ename,sal from emp;+--------+---------+| ename | sal |+--------+---------+| SMITH | 800.00 || ALLEN | 1600.00 || WARD | 1250.00 || JONES | 2975.00 || MARTIN | 1250.00 || BLAKE | 2850.00 || CLARK | 2450.00 || SCOTT | 3000.00 || KING | 5000.00 || TURNER | 1500.00 || ADAMS | 1100.00 || JAMES | 950.00 || FORD | 3000.00 || MILLER | 1300.00 |+--------+---------+格式化數字:format(數字, '格式')select ename,format(sal, '$999,999') as sal from emp;+--------+-------+| ename | sal |+--------+-------+| SMITH | 800 || ALLEN | 1,600 || WARD | 1,250 || JONES | 2,975 || MARTIN | 1,250 || BLAKE | 2,850 || CLARK | 2,450 || SCOTT | 3,000 || KING | 5,000 || TURNER | 1,500 || ADAMS | 1,100 || JAMES | 950 || FORD | 3,000 || MILLER | 1,300 |+--------+-------+str_to_date:將字符串varchar類型轉換成date類型 date_format:將date類型轉換成具有一定格式的varchar字符串類型。drop table if exists t_user; create table t_user(id int,name varchar(32),birth date // 生日也可以使用date日期類型 );create table t_user(id int,name varchar(32),birth char(10) // 生日可以使用字符串,沒問題。 );生日:1990-10-11 (10個字符)

注意:數據庫中的有一條命名規范:
所有的標識符都是全部小寫,單詞和單詞之間使用下劃線進行銜接。

mysql> desc t_user; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(32) | YES | | NULL | | | birth | date | YES | | NULL | | +-------+-------------+------+-----+---------+-------+

插入數據?
insert into t_user(id,name,birth) values(1, ‘zhangsan’, ‘01-10-1990’); // 1990年10月1日
出問題了:原因是類型不匹配。數據庫birth是date類型,這里給了一個字符串varchar。

怎么辦?可以使用str_to_date函數進行類型轉換。
str_to_date函數可以將字符串轉換成日期類型date?
語法格式:
str_to_date(‘字符串日期’, ‘日期格式’)

mysql的日期格式:%Y 年%m 月%d 日%h 時%i 分%s 秒insert into t_user(id,name,birth) values(1, 'zhangsan', str_to_date('01-10-1990','%d-%m-%Y'));

str_to_date函數可以把字符串varchar轉換成日期date類型數據,
通常使用在插入insert方面,因為插入的時候需要一個日期類型的數據,
需要通過該函數將字符串轉換成date。

好消息?
如果你提供的日期字符串是這個格式,str_to_date函數就不需要了!!!
%Y-%m-%d
insert into t_user(id,name,birth) values(2, ‘lisi’, ‘1990-10-01’);

查詢的時候可以以某個特定的日期格式展示嗎?
date_format
這個函數可以將日期類型轉換成特定格式的字符串。

select id,name,date_format(birth, '%m/%d/%Y') as birth from t_user;+------+----------+------------+| id | name | birth |+------+----------+------------+| 1 | zhangsan | 10/01/1990 || 2 | lisi | 10/01/1990 |+------+----------+------------+

date_format函數怎么用?
date_format(日期類型數據, ‘日期格式’)
這個函數通常使用在查詢日期方面。設置展示的日期格式。

mysql> select id,name,birth from t_user;+------+----------+------------+| id | name | birth |+------+----------+------------+| 1 | zhangsan | 1990-10-01 || 2 | lisi | 1990-10-01 |+------+----------+------------+

以上的SQL語句實際上是進行了默認的日期格式化,
自動將數據庫中的date類型轉換成varchar類型。
并且采用的格式是mysql默認的日期格式:‘%Y-%m-%d’

select id,name,date_format(birth,'%Y/%m/%d') as birth from t_user;

java中的日期格式?

yyyy-MM-dd HH:mm:ss SSS

date和datetime兩個類型的區別

date是短日期:只包括年月日信息。
datetime是長日期:包括年月日時分秒信息。

drop table if exists t_user; create table t_user(id int,name varchar(32),birth date,create_time datetime );

id是整數
name是字符串
birth是短日期
create_time是這條記錄的創建時間:長日期類型

mysql短日期默認格式:%Y-%m-%d
mysql長日期默認格式:%Y-%m-%d %h:%i:%s

insert into t_user(id,name,birth,create_time) values(1,'zhangsan','1990-10-01','2020-03-18 15:49:50');

在mysql當中怎么獲取系統當前時間?
now() 函數,并且獲取的時間帶有:時分秒信息!!!!是datetime類型的。

insert into t_user(id,name,birth,create_time) values(2,'lisi','1991-10-01',now());

修改update(DML)

語法格式:
update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3… where 條件;

注意:沒有條件限制會導致所有數據全部更新。

update t_user set name = 'jack', birth = '2000-10-11' where id = 2; +------+----------+------------+---------------------+ | id | name | birth | create_time | +------+----------+------------+---------------------+ | 1 | zhangsan | 1990-10-01 | 2020-03-18 15:49:50 | | 2 | jack | 2000-10-11 | 2020-03-18 15:51:23 | +------+----------+------------+---------------------+update t_user set name = 'jack', birth = '2000-10-11', create_time = now() where id = 2;

更新所有?

update t_user set name = 'abc';

刪除數據 delete (DML)

語法格式?
delete from 表名 where 條件;

注意:沒有條件,整張表的數據會全部刪除!

delete from t_user where id = 2;insert into t_user(id) values(2);delete from t_user; // 刪除所有!

總結

以上是生活随笔為你收集整理的mysql详细学习教程(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

在线观看国产区 | 天天操 夜夜操 | 五月婷香蕉久色在线看 | 欧美激情视频一二三区 | 亚洲精品在线观看av | 九九热有精品 | 色www精品视频在线观看 | 日韩影视在线 | 成人免费色 | 久久久久久国产精品999 | 久热免费在线 | 日韩一区精品 | 91精品老司机久久一区啪 | 欧美最新另类人妖 | 中文字幕乱码一区二区 | 97精品国产一二三产区 | 欧美日韩高清不卡 | 国产精品你懂的在线观看 | 在线激情av电影 | 91成人免费电影 | 日韩av电影中文字幕 | 成年免费在线视频 | 精品不卡av | 国产精品久久久久高潮 | 亚洲伦理中文字幕 | 97操操操| 亚洲免费在线观看视频 | 波多野结衣精品 | 91丨九色丨蝌蚪丰满 | 国产毛片久久 | 天天色综合1 | 色婷婷狠狠操 | 午夜黄色大片 | 国产精品久久久久一区二区国产 | 国产欧美最新羞羞视频在线观看 | 亚洲国产精品999 | 亚洲成人精品在线 | 天堂资源在线观看视频 | 懂色av一区二区三区蜜臀 | 国产午夜三级一区二区三桃花影视 | 国产精品手机在线 | 中文字幕在线一区二区三区 | 中文字幕在线播放av | 一区二区三区高清在线 | 国产韩国日本高清视频 | 成人免费网站在线观看 | 深爱激情婷婷网 | 麻豆国产网站 | 亚洲精品久久久蜜臀下载官网 | 国内视频一区二区 | 国产一级视频免费看 | 成人在线观看网址 | 婷婷五天天在线视频 | 久久福利在线 | 超碰精品在线 | 日韩高清观看 | 中文永久字幕 | 91男人影院| 国产精品成人免费精品自在线观看 | 天天曰视频 | 欧美一区三区四区 | 日日干日日色 | 亚洲人成免费 | 999久久久欧美日韩黑人 | 国产99久久精品一区二区300 | 啪啪av在线 | 欧美日韩精品在线一区二区 | 国产人成一区二区三区影院 | 91av视频网站 | 性色视频在线 | 就要色综合 | 国产精品亚州 | 色天天| 亚洲天堂精品视频在线观看 | 亚洲精品视频在线观看免费视频 | 久久久久久高潮国产精品视 | 成年人免费在线看 | 夜夜爽www | 丁香激情综合久久伊人久久 | 免费三级av | 最近在线中文字幕 | 在线观看亚洲a | av中文字幕在线看 | 91av在线电影| 亚洲国产小视频在线观看 | 日本视频久久久 | 中文字幕91在线 | 色之综合网 | 国产在线黄色 | 国产日韩在线视频 | 午夜色婷婷 | 国产精品久久久久免费 | 欧美在线视频精品 | 在线观看片 | 91尤物国产尤物福利在线播放 | 日韩电影中文,亚洲精品乱码 | 六月婷婷久香在线视频 | 四虎影视8848aamm| 亚洲午夜精品一区二区三区电影院 | 天天五月天色 | 国产成人一区二区三区影院在线 | 亚洲人人射 | 亚洲劲爆av| 香蕉视频在线免费 | 欧美日韩精品区 | 亚洲自拍偷拍色图 | 色多多污污 | 亚洲三级黄色 | 精品久久久久久久久久久久 | 99热在 | 成人午夜剧场在线观看 | 91成人在线视频观看 | 国产网站在线免费观看 | 日韩欧美视频在线观看免费 | 天天操综合| 操操操操网 | 片网站 | 久久伊99综合婷婷久久伊 | 69国产成人综合久久精品欧美 | 黄色小网站免费看 | 成人久久久精品国产乱码一区二区 | 黄色毛片大全 | 视频三区在线 | 久久久久久精 | 免费色网| 天天操天天操天天操 | 天天草天天插 | 五月天中文在线 | 激情久久久久久久久久久久久久久久 | 日韩网站一区 | 在线观看黄色的网站 | 国产免费又粗又猛又爽 | 福利视频入口 | 果冻av在线 | a天堂在线看 | www.色午夜 | 日韩视频免费看 | 91夫妻视频 | 在线看成人 | 国产成视频在线观看 | 九九日九九操 | 久久高清国产 | 国产黄色看片 | 免费a网| 玖操 | av在线官网 | 久久九九影视网 | 欧美老人xxxx18 | 中文字幕精品www乱入免费视频 | 国产在线91在线电影 | 成人av网站在线播放 | 碰天天操天天 | 色网站在线观看 | 亚洲欧美日韩一二三区 | 91av蜜桃| www.av在线播放| 成人免费毛片aaaaaa片 | 黄色大片av | 亚洲 欧美日韩 国产 中文 | 国产在线观看99 | 国产亚洲一区二区在线观看 | 91 在线视频播放 | 免费中午字幕无吗 | 中文字幕在线播放一区 | 最近中文字幕完整视频高清1 | 国产不卡av在线 | 成人黄色电影在线播放 | 8x成人免费视频 | 国际精品久久 | 美国人与动物xxxx | 欧美日韩18 | 午夜精品久久久久久久99无限制 | 久久精品人 | 欧美日韩高清一区 | 亚洲国产三级在线观看 | 久久不射电影网 | 国语对白少妇爽91 | 国产亚洲精品福利 | 久草在线99 | 久久久高清一区二区三区 | 中文字幕免费 | a成人v | 久久国产精品99久久久久久进口 | 欧美a视频在线观看 | 国色天香永久免费 | 成人在线黄色电影 | 肉色欧美久久久久久久免费看 | 极品久久久久 | 精品免费久久 | 碰超在线观看 | www.色午夜.com | 国产精品久久免费看 | 亚洲不卡av一区二区三区 | 9在线观看免费 | 成人免费一区二区三区在线观看 | 日本中文字幕在线视频 | 激情五月五月婷婷 | 天天色天天射天天综合网 | 97超碰成人 | 中文字幕免费 | 不卡电影免费在线播放一区 | 国产精品一区二区久久国产 | 6080yy午夜一二三区久久 | 视频二区 | 久久精品久久国产 | 国产色在线,com | 国产在线国产 | 五月天六月色 | 国产资源中文字幕 | 在线视频黄 | 国产精品乱看 | 国产一级黄色免费看 | 久久精品国产精品 | 九九免费观看视频 | 黄色在线观看免费网站 | 欧美日韩免费一区 | 欧美日性视频 | 国产视频一区二区在线 | 97热在线观看 | 色视频在线免费观看 | 久久久久久久久久久久国产精品 | 色综合久久中文综合久久牛 | 国产一级片不卡 | 在线观看亚洲a | 国产精品18久久久久久久久 | 激情综合久久 | 91精品久久久久久粉嫩 | 久草a在线| 亚洲国产精品一区二区久久hs | 天天添夜夜操 | 久久久久久久免费 | 免费a级大片 | 亚洲精品ww | 最新精品国产 | 日韩在线短视频 | 91久久人澡人人添人人爽欧美 | 中文字幕在线资源 | 99在线精品视频在线观看 | 国产一级二级三级在线观看 | 亚洲精品久久久久中文字幕m男 | 免费视频一区二区 | 久av电影| 久久情网 | 久久久久久久电影 | 日韩精品一区二区三区免费观看视频 | 久久香蕉一区 | 黄色片网站av | 国产美女在线精品免费观看 | 天天干天天拍天天操天天拍 | 日韩精品视频在线观看网址 | 久久电影网站中文字幕 | 色婷婷成人网 | 国语精品久久 | 99色国产 | 国产精品粉嫩 | 2022国产精品视频 | 美女网站色免费 | 亚洲欧美综合精品久久成人 | 成人亚洲欧美 | 激情影院在线观看 | 又爽又黄又无遮挡网站动态图 | 国产精品色视频 | 国产精品毛片久久久 | 国产精品久久久久久妇 | 日韩理论片 | 国产综合在线观看视频 | 国产视频97 | 中国一区二区视频 | 国产精品久久人 | 在线观看黄色小视频 | 视频99爱| 国产精品欧美激情在线观看 | 欧美va电影 | 久久综合免费视频 | 一区二区理论片 | 色综合久久久久综合体桃花网 | 精品在线观看一区二区 | 毛片二区| 久久午夜色播影院免费高清 | 毛片一级免费一级 | 国产日产av | 97av影院 | 日韩中文字幕在线不卡 | 国产色黄网站 | 中文字幕亚洲综合久久五月天色无吗'' | 在线影院中文字幕 | 欧美性大胆 | 中文字幕欧美日韩va免费视频 | 中文字幕在线看视频 | 极品国产91在线网站 | 九九一级片 | 97品白浆高清久久久久久 | 久久免费资源 | 婷婷丁香激情综合 | 亚洲国产三级 | 丰满少妇久久久 | 免费高清看电视网站 | 91大神免费视频 | 亚洲美女精品 | 99精品美女 | 日韩精品一区二区三区水蜜桃 | 色五月成人 | 久久精精品 | 成人a视频片观看免费 | 免费av高清 | 国产成人久久精品77777 | 中文av资源站 | 国产精品欧美在线 | 亚洲成人一二三 | 国产涩图 | 在线香蕉视频 | 国产成人在线看 | 精品久久国产 | 国产精品爽爽久久久久久蜜臀 | 久久综合欧美精品亚洲一区 | 免费精品 | 91爱爱网址 | 久久精品高清 | 波多野结衣最新 | 超碰激情在线 | 69视频在线 | 国产精品淫 | 狠狠色2019综合网 | 在线观看国产一区二区 | 天天爱天天色 | 亚洲精品自在在线观看 | 久久精品久久精品久久精品 | 国语精品免费视频 | 欧美精彩视频 | 一级片黄色片网站 | 国产成人精品一区二 | 日韩欧美久久 | 久久论理| 夜夜操网站 | 精品福利国产 | 91九色蝌蚪 | 日韩高清激情 | 国产一区二区不卡在线 | av电影中文字幕在线观看 | 国产成人亚洲在线观看 | av在线免费在线 | 日本精a在线观看 | 国产福利在线免费观看 | 精品免费观看视频 | 婷婷在线精品视频 | 日韩精品在线免费播放 | 在线国产片 | 成人免费观看视频大全 | 黄色日本免费 | 91成品视频 | 天天干,天天射,天天操,天天摸 | 97涩涩视频 | 日本精品中文字幕 | 51精品国自产在线 | 欧美日韩在线看 | av三级在线免费观看 | av片一区 | 五月亚洲综合 | 五月婷婷六月丁香 | 国产一级久久久 | 91天堂在线观看 | 欧美另类xxx | av一级网站 | 欧美一区二区三区在线看 | 香蕉影视在线观看 | 国产精品永久免费观看 | 色噜噜狠狠狠狠色综合 | 日本精品久久久久中文字幕5 | 亚洲在线精品视频 | 国产一区二区免费在线观看 | 久久成人久久 | 亚洲精品在线视频网站 | 在线日韩一区 | 国产又黄又硬又爽 | 色狠狠综合| 久草视频免费在线观看 | 九九热视频在线 | 日韩免费在线观看视频 | 欧美一区二区三区在线看 | 97国产超碰在线 | 日韩a级免费视频 | 日日麻批40分钟视频免费观看 | 中文字幕日韩一区二区三区不卡 | 欧美在线一级片 | 人人爽人人香蕉 | 久草在线手机观看 | 福利视频区 | 成人午夜久久 | 日韩精品极品视频 | 日韩av一区二区三区 | 免费观看黄 | 国产韩国日本高清视频 | 成人精品视频久久久久 | 黄色一级在线免费观看 | 国产一区在线看 | 精品亚洲免费 | 亚洲天堂自拍视频 | 97超碰资源网 | 国产韩国精品一区二区三区 | 国产精品一区二区三区电影 | 中文字幕文字幕一区二区 | 久久国产电影 | 免费观看黄 | 丰满少妇在线观看资源站 | 国产成在线观看免费视频 | 国产亚洲资源 | 国产高清视频网 | 一区二区三区在线视频观看58 | www.久艹| 亚洲国产日韩一区 | 福利片免费看 | 九九久久久久久久久激情 | 欧美在线1区 | 天天操天天干天天爽 | 国产乱老熟视频网88av | 天天干亚洲 | 国产中文字幕一区二区三区 | 成人丝袜 | 麻豆超碰| 国产香蕉97碰碰碰视频在线观看 | 国产精品免费视频久久久 | 色婷丁香 | 日韩在线理论 | 国产手机在线播放 | 日韩精品亚洲专区在线观看 | 992tv在线观看网站 | 亚洲欧美日韩国产 | 亚洲国内精品在线 | 国产精品久久人 | 97视频在线观看视频免费视频 | www.久久色| av成人在线播放 | 日韩欧美综合在线视频 | 中文字幕在线观看视频网站 | 国产一级免费电影 | 91在线视频观看免费 | 337p西西人体大胆瓣开下部 | 精品国产日本 | 国产一区91 | 亚洲电影免费 | 国产亚洲精品v | 麻豆一区在线观看 | 色婷婷狠狠操 | 人人玩人人爽 | 久久免费一级片 | 日韩精品中字 | 国产麻豆电影在线观看 | 丁香婷婷深情五月亚洲 | 日韩一区二区三区高清在线观看 | 欧美男女爱爱视频 | 天天亚洲 | 中文字幕中文字幕在线中文字幕三区 | 亚洲精品字幕在线观看 | 最新午夜电影 | 三级av网 | 久久精品视频3 | 国产精品99久久久久的智能播放 | 在线中文字幕观看 | 国产麻豆精品传媒av国产下载 | 成人免费观看在线视频 | 丁香婷婷激情网 | 久久午夜精品影院一区 | 成人免费在线播放视频 | 免费成人av在线 | 日韩在线观看第一页 | 久久精品网站视频 | 亚洲综合色网站 | 日韩精品一区二区免费视频 | 在线观看国产永久免费视频 | 就要干b | 在线看一区 | 久久国产91 | 精品国产伦一区二区三区观看体验 | 色视频网站在线观看一=区 a视频免费在线观看 | 手机在线小视频 | 成人免费视频免费观看 | 国产成人精品在线观看 | 黄网站app在线观看免费视频 | 免费特级黄毛片 | 五月婷婷激情网 | 久久99国产精品久久99 | 99精品视频免费全部在线 | 97精品视频在线播放 | 性色va| 欧美一级在线观看视频 | 欧美日韩国产一区二 | 中文字幕888 | 免费瑟瑟网站 | 欧美一区二区伦理片 | av在线网站大全 | 成人午夜精品福利免费 | 欧美日韩精品在线视频 | 亚洲福利精品 | 福利视频午夜 | 最新色站| 五月婷婷激情综合网 | 国产麻豆剧果冻传媒视频播放量 | 人人插人人射 | 日韩免费一区二区三区 | h视频在线看| 亚洲精品456在线播放乱码 | 免费看黄在线 | 在线免费黄 | 97超碰人人在线 | 色综合色综合色综合 | 国产在线p | 99成人免费视频 | 欧美激情第一页xxx 午夜性福利 | 在线中文字幕一区二区 | 国偷自产视频一区二区久 | 精品免费久久久久 | 久久超碰免费 | 精品在线99 | 婷婷在线视频观看 | 欧美另类性| 夜夜夜夜夜夜操 | 亚洲午夜av | 久久久伊人网 | 国产日韩欧美在线观看 | 九九九九九九精品 | 免费av在线网 | 九九久| 国产.精品.日韩.另类.中文.在线.播放 | 国产亚洲va综合人人澡精品 | 人人盈棋牌 | 日韩亚洲国产中文字幕 | 毛片一区二区 | 久久亚洲人 | 久久免费视频国产 | 2020天天干天天操 | 天天爱天天操天天干 | 久久久久国产精品午夜一区 | 天天操天天色天天 | 又大又硬又黄又爽视频在线观看 | 日本xxxx裸体xxxx17 | 亚洲视频精品在线 | 亚洲香蕉在线观看 | 欧洲色综合 | 最近更新的中文字幕 | 97国产精品久久 | www.夜夜爱 | 夜夜骑天天操 | 国产精彩视频一区二区 | 精品产品国产在线不卡 | 在线免费观看视频一区 | www.天天成人国产电影 | 米奇影视7777 | 亚洲欧美日韩一区二区三区在线观看 | 久久99网| 蜜臀av夜夜澡人人爽人人 | 91少妇精拍在线播放 | 美女国产在线 | 亚洲综合在线发布 | 91视频 - 88av | 日韩免费一二三区 | 欧美日韩不卡在线 | 五月丁色 | 国内精品国产三级国产aⅴ久 | 日本黄区免费视频观看 | 超碰av在线| 久久久久久久久久久久国产精品 | 天天干天天看 | 五月综合激情 | 深爱婷婷激情 | 日韩欧美视频在线播放 | 在线精品一区二区 | 精品久久久久久久久久国产 | 免费日韩三级 | 久久久久黄| 天天射日| 亚洲精品资源在线观看 | 91免费网站在线观看 | 久久久蜜桃一区二区 | 色网站黄 | 久久精品视频网站 | 日韩综合精品 | 免费的国产精品 | 国产免费久久久久 | 最近中文字幕完整视频高清1 | 国内丰满少妇猛烈精品播 | 黄色影院在线观看 | 色综合a | 99热这里有| 久久精品国产免费观看 | 麻花天美星空视频 | 婷婷色在线视频 | 久久av伊人 | 婷婷 中文字幕 | 国产破处视频在线播放 | av中文字幕剧情 | 久久午夜精品视频 | 在线观看黄色小视频 | 99精品国产一区二区三区不卡 | 久久精品亚洲综合专区 | 国产精品99久久久久久武松影视 | 国产高清中文字幕 | 久久九九久久九九 | 日本久久不卡视频 | 人人爱在线视频 | 国产精品高潮呻吟久久av无 | 91精品系列 | 欧美日韩大片在线观看 | 国产手机精品视频 | 日韩av免费观看网站 | 中文字幕人成人 | 国产精品va视频 | 国产91精品一区二区麻豆亚洲 | 香蕉视频在线免费看 | 国产精品久久伊人 | 丰满少妇高潮在线观看 | 久久久久久免费 | 国产麻豆精品一区二区 | 成人app在线免费观看 | 久久激情电影 | 最近中文字幕免费av | 自拍超碰在线 | 日韩激情av在线 | a在线观看免费视频 | 久久久99国产精品免费 | 探花视频在线观看 | 欧美日韩一区三区 | 精品女同一区二区三区在线观看 | 亚洲视频免费 | 亚洲免费黄色 | 一区二区免费不卡在线 | 免费看的黄色 | 在线成人高清电影 | 日本久久久久久久久久 | 一二区av| 久久婷五月 | 草久视频在线 | 亚洲视频高清 | 黄色性av| 丁香五月亚洲综合在线 | av大全免费在线观看 | 91免费在线看片 | 成年人在线播放视频 | 色偷偷人人澡久久超碰69 | 中文字幕有码在线 | 美女性爽视频国产免费app | 激情五月伊人 | 91精品国产成人观看 | 久久国产精品久久国产精品 | 99在线免费视频 | 日日夜夜精品免费 | 91麻豆精品国产91久久久久 | 人人玩人人添人人 | 午夜精品久久久久久久久久久久 | 麻豆 videos| 久久精品99国产精品 | 黄色精品免费 | 97精品超碰一区二区三区 | 婷婷久久精品 | 人人cao| 天天玩天天操天天射 | 中文国产字幕在线观看 | 99久久婷婷国产精品综合 | 精品极品在线 | 国产精品专区在线观看 | 午夜性色 | 一区二区中文字幕在线观看 | 亚洲a资源| 欧美激情精品久久久久久免费印度 | 日韩高清不卡一区二区三区 | 亚洲一区美女视频在线观看免费 | 深爱婷婷久久综合 | 久久综合国产伦精品免费 | 永久免费观看视频 | 99免在线观看免费视频高清 | 国产一级一片免费播放放 | 99夜色 | 性色大片在线观看 | 亚洲精品久久久久www | 国产精品ssss在线亚洲 | 日韩在线观看影院 | 国产精品一区二区白浆 | 人人玩人人爽 | 久久久精品一区二区 | 久久国产露脸精品国产 | 国产精品久久三 | 91在线免费视频 | 欧美激情视频三区 | 欧美国产日韩一区二区三区 | 欧美大片www | 亚洲精选在线观看 | 99在线精品免费视频九九视 | 97精品国自产拍在线观看 | 久久网站av| 免费看片网址 | 麻豆视频91| 午夜色性片 | 人人爱爱 | 欧美日韩91| 日韩电影中文字幕 | 99在线免费视频观看 | 国产一区影院 | 韩国av一区二区三区 | 免费国产一区二区视频 | 狠狠艹夜夜干 | 中文字幕av网站 | 国产精品一区一区三区 | 久久亚洲婷婷 | 国产一级在线看 | 在线小视频你懂得 | 日日干美女| 国产啊v在线 | 日本在线视频一区二区三区 | 国产精品久久久久国产精品日日 | 最近中文字幕mv免费高清在线 | 精品免费久久久久 | 特级西西444www高清大视频 | 在线观看黄av | 新av在线| 亚洲精品理论 | 97高清免费视频 | 精品久久一级片 | 日本黄色免费网站 | 在线你懂 | 91热| 国产亚洲成人网 | 亚洲最新在线视频 | 97成人在线观看视频 | 欧美孕妇视频 | 在线看av的网址 | 国产一区二三区好的 | 91久久国产综合精品女同国语 | 亚洲乱码久久 | 国产一二三区av | 国产精品久久久久久久久久 | 国产精品一区在线 | 色999精品 | 国产一级做a | 亚洲精品久久久蜜桃直播 | 91在线视频免费观看 | 国产女人免费看a级丨片 | 成人av免费在线看 | 一区二区三区观看 | 亚洲高清色综合 | 特级西西www44高清大胆图片 | 久草视频免费 | 99操视频 | 一级黄色片在线 | 狠狠色狠狠色 | 91中文字幕一区 | 国产精品对白一区二区三区 | 在线网站黄 | www.色就是色 | 日韩精品五月天 | 日本公妇在线观看 | 中文字幕资源站 | 日本精品久久久久中文字幕5 | 国产中文字幕在线视频 | 国产麻豆精品免费视频 | 黄色网在线免费观看 | 一级电影免费在线观看 | 亚洲精选在线 | 亚洲欧美色婷婷 | 国产又粗又猛又黄又爽 | 久久夜色精品国产欧美一区麻豆 | 亚洲国产精品激情在线观看 | 一区二区伦理电影 | 欧美一级激情 | www.av小说 | 午夜美女wwww| 欧美成人亚洲 | 天堂麻豆| 日韩三级.com | 91成人精品一区在线播放69 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久精品国产99国产 | 免费国产黄线在线观看视频 | 在线日韩中文 | 日韩精品无 | 四虎影视成人精品国库在线观看 | 精品久久久久久电影 | 99精品久久久久久久久久综合 | 丁香婷婷综合网 | 成年人三级网站 | 在线不卡a | 伊人六月 | 欧美日韩精品影院 | 一区二区三区在线不卡 | 在线观看理论 | 九九热有精品 | 日韩高清国产精品 | 成人av资源 | 在线观看岛国片 | 在线视频精品播放 | 992tv在线成人免费观看 | 99久久夜色精品国产亚洲96 | av夜夜操| 免费在线观看午夜视频 | av网站有哪些 | 免费网站黄 | 久久久99国产精品免费 | 久草在线视频看看 | 狠狠色丁香久久婷婷综合五月 | 成人观看 | 啪啪肉肉污av国网站 | 免费黄色小网站 | 日韩xxx视频| 在线观看国产麻豆 | 欧美日韩在线网站 | 国产成人精品综合久久久 | 欧美日韩午夜 | a级国产乱理伦片在线观看 亚洲3级 | 青春草免费视频 | 亚洲一区尤物 | 久久久久亚洲天堂 | 国产精品久久久久av | 久草男人天堂 | 国偷自产视频一区二区久 | 亚洲成a人片77777潘金莲 | 欧美激情视频一区二区三区免费 | 久草在线手机观看 | 国产精品资源 | 亚洲三级国产 | 亚洲精品综合久久 | 粉嫩av一区二区三区入口 | 97精品国自产拍在线观看 | 国产视频精品在线 | 色综合久久综合中文综合网 | 91人人爱 | 九色自拍视频 | 婷婷久久国产 | 成人免费一级片 | 黄色资源在线观看 | 视频精品一区二区三区 | 国产精品视频观看 | 少妇bbw揉bbb欧美 | 日韩三级视频在线观看 | 日日骑 | 久久区二区 | 欧美激情一区不卡 | 日本护士三级少妇三级999 | 国产黄色片免费看 | 亚洲人片在线观看 | 亚洲免费观看在线视频 | 不卡电影一区二区三区 | 97国产精品亚洲精品 | 国产精品9区 | 91久久国产自产拍夜夜嗨 | 99精品欧美一区二区三区 | 日韩精品久久久 | 特级毛片aaa | 亚洲影院天堂 | 久久婷婷精品 | 国产一区电影在线观看 | 成人午夜电影在线 | 在线观看av黄色 | av福利在线 | 亚洲精品国产视频 | 日韩中文字幕一区 | 狠狠地日 | 一区精品久久 | 99久久这里有精品 | 日韩精品一区二区三区水蜜桃 | 久久精品一区二区三区国产主播 | 国产91综合一区在线观看 | 欧美91精品久久久久国产性生爱 | 中文字幕亚洲精品在线观看 | 波多野结衣在线观看一区 | 福利一区二区三区四区 | 成人午夜在线观看 | 国产精品专区h在线观看 | 天天操天天能 | 久久成人精品电影 | 日韩av高清在线观看 | 成人影片免费 | 91麻豆福利 | 91看片淫黄大片一级在线观看 | av动态图片 | 国产午夜三级一区二区三桃花影视 | 久久人人艹 | 国产人在线成免费视频 | 国产小视频在线免费观看视频 | 成人欧美一区二区三区黑人麻豆 | 天天色成人 | 天天天在线综合网 | 蜜桃视频成人在线观看 | 日韩黄色中文字幕 | 玖玖精品在线 | 五月网婷婷 | 经典三级一区 | 精品久久久久久久久久久久久久久久久久 | 激情深爱.com | 久久久高清一区二区三区 | 欧美视频日韩 | 久久成人午夜视频 | 综合色久 | 97精品国产97久久久久久粉红 | 激情丁香久久 | 日本一区二区三区免费看 | 97在线成人 | 国产成人a亚洲精品v | 久久99亚洲精品久久 | 免费福利在线观看 | 久久激情综合网 | 涩涩网站在线看 | 九九在线播放 | 国产99久久九九精品 | 激情狠狠干 | 国产中文字幕一区二区 | 国产精品欧美日韩在线观看 | 日本精品视频网站 | 伊人狠狠干 | 日韩av线观看| 日韩小视频网站 | 免费日韩精品 | 亚洲最新在线视频 | 国产精品白虎 | 国产精品久久久视频 | 免费的黄色av | 91福利免费 | 91国内产香蕉 | 精品在线视频一区 | 免费91在线观看 | av成人在线网站 | 日本中文字幕电影在线免费观看 | 国产一区二区在线观看视频 | 96久久| 精品一区二区免费视频 | 麻豆视频免费播放 | av在线电影网站 | 最近日本字幕mv免费观看在线 | 亚洲人视频在线 | 久久综合狠狠综合久久激情 | 丝袜美腿一区 | 国产精品美女在线 | 日韩精品黄 | 亚洲成年人在线播放 | 人人舔人人 | 成片免费观看视频 | www.色婷婷.com | 亚洲综合色视频在线观看 | 亚洲国产精品女人久久久 | 国产精品夜夜夜一区二区三区尤 | 免费看av片网站 | 日韩中文字幕免费在线观看 | 97爱 | 91视频链接 | 中文字幕在线免费97 | 91精品啪在线观看国产线免费 | 在线免费日韩 | 欧美亚洲国产一卡 | 成人av一区二区兰花在线播放 | 天天色天天射天天干 | 日本深夜福利视频 | 亚洲色五月 | 免费av成人在线 | 国产精品久久久久亚洲影视 | 一区二区三区免费网站 | 人人干干人人 | 亚洲免费色 | 一区二区三区四区免费视频 | aaa毛片视频 | 免费久久久久久 | 国产在线观看,日本 | www.夜夜操| 色a资源在线 | 欧美国产日韩一区二区三区 | 国产亚洲精品成人av久久ww | 91久久国产露脸精品国产闺蜜 | a级片久久久 | 久久精品首页 | av电影在线播放 | 亚洲免费av在线播放 | 欧美一级黄色网 | 中文字幕在线播放视频 | 精品一区久久 | 韩国精品福利一区二区三区 | 国产精品久久久久久一二三四五 | 玖玖精品视频 | 色吧av色av | 三级av在线| 色综合婷婷 | 99久久综合国产精品二区 | 综合在线亚洲 | 国产一区视频导航 | 狠狠色丁香婷婷综合基地 | 精品国产成人av在线免 | 丁香视频全集免费观看 | 国产一区二区视频在线 | av理论电影 | 六月婷操| 久久成人国产精品免费软件 | 日韩欧美在线影院 | 国产免费小视频 | 天天久久夜夜 | 日韩免费观看一区二区三区 | 国产一区二区在线视频观看 | 97精品欧美91久久久久久 | 美女性爽视频国产免费app | 91精品国产综合久久婷婷香蕉 | 久草精品视频 | 久久深夜| 91成人蝌蚪| 国产日韩在线看 |