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

歡迎訪問 生活随笔!

生活随笔

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

数据库

6.数据库(讲义)

發布時間:2023/11/30 数据库 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6.数据库(讲义) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

-da數據庫概述

  • 為什么要使用數據庫?

    • 那我們在沒有學習數據庫的時候,數據存放在json或者磁盤文件中不也挺好的嘛,為啥還要學習數據庫?

      • 文件中存儲數據,無法基于文件直接對數據進行操作或者運算,必須借助python將數據讀取到計算機內存中然后基于Python程序操作數據,麻煩而且性能不高。

      • 使用文件存儲數據,無法實現數據的共享。

  • 什么是數據庫呢?先介紹幾個概念:

    • 數據:Data

      • 描述事物的符號記錄稱為數據,描述事物的符號既可以是數字,也可以是文字、圖片,圖像、聲音、語言等,數據由多種表現形式,它們都可以經過數字化后存入計算機。

      • 例如:描述一個人的基本信息就是一組數據,在數據庫中叫一行記錄。

      • name age sexAilsa 23 女
    • 數據庫:DataBase(DB)

      • 即存放數據的倉庫,我們可以把它想象成文件夾,里面存放了很多張表,每個表就是一個文件,不過數據庫中的數據是按照一定的規則進行組織、描述和儲存,且具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享

    • 數據庫管理軟件

      • 在了解了Data與DB的概念后,如何科學地組織和存儲數據,如何高效獲取和維護數據成了關鍵,這就用到了一個系統軟件—數據庫管理系統

      • 如MySQL、Oracle、SQLite、Access、MS SQL Server

      • 但是我們日常工作中經常會把數據庫管理軟件稱為數據庫,注意理解對象的意思:例如

        • 小王啊,你們公司用的什么數據庫啊,這個指的是數據庫管理軟件
        • 小王啊,這個學生管理系統的數據庫是哪個?這個指的就是數據庫文件夾,一般情況下一個項目的所有涉及到的數據會存放在一個數據庫中,方便統一管理。
    • 總結:

      • 數據庫服務器:運行數據庫管理軟件
      • 數據庫管理軟件:管理數據庫
      • 數據庫:即文件夾,用來組織文件/表
      • 表:即文件,用來存放多行內容/多條記錄
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-s6x4mxXb-1640509917610)(imgs/40.png)]

Mysql介紹

  • 數據庫管理軟件按照分類分為 關系型數據庫非關系型數據庫
  • 關系型數據庫
    • 在數據庫中各個表之間存在關聯關系,需要設計表結構,一張表中每個字段之間也存在關系,通過SQL語句對數據庫進行增刪改查的操作。
    • 例如:MySQL、oracle 、sql server、sqllite,access,db2
    • 注意:sql語句通用
  • 非關系型數據庫
    • 非關系型數據庫是key-value存儲的,沒有表結構,存取速度快
    • 例如:redis、mongodb
  • Mysql:
    • MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下公司。MySQL 最流行的關系型數據庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。
    • MySQL被廣泛的應用在Internet上的大中小型網站中。由于體積小、速度快、總體擁有成本低,開放源代碼
    • 特點:開源,免費,應用廣泛

Mysql下載和安裝

下載

我們下載安裝的是mysql管理軟件,它相當于是一個服務端,每個建立好的連接的用戶都可以訪問,但是這里為了讓自己自主學習,所以我們會把這個軟件下載安裝到每個人的自己電腦上,相當于在自己電腦上安裝了mysql的服務端,這個軟件他也自帶一個客戶端,我們可以通過cmd終端的形式進行訪問,當然也可以通過可視化工具navicate來訪問,接下來我們會一一講解。

  • mysql管理下載

    • 第一步:打開網址,https://www.mysql.com,點擊downloads之后跳轉到https://www.mysql.com/downloads

    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bkyvK06q-1640509917613)(imgs/41.png)]

    • 第二步:選擇Community選項

    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MeeA603D-1640509917613)(imgs/42.png)]

    • 第三步:選擇對應的操作系統版本

    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4H5un31W-1640509917614)(imgs/43.png)]

    • 第四步:選擇具體版本的mysql,建議選擇5.6或者5.7版本

    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Dz1QVTKy-1640509917615)(imgs/44.png)]

    • 第五步:直接下載

    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vjhL4uuS-1640509917617)(imgs/45.png)]

解壓

  • 下載的zip文件解壓,將解壓之后的文件夾放到任意目錄下,這個目錄就是mysql的安裝目錄。
  • 注意:安裝目錄盡量在某盤的根目錄下,如果不在根目錄,則安裝路徑中不能有中文,不能有特殊轉義符的出現。

配置環境變量

  • 在系統變量PATH后面添加: 你的mysql的bin文件夾的路徑(如C:\Program Files\mysql-5.6.41-winx64\bin)

執行初始化

在任意路徑下,以管理員的身份打開終端執行:

mysqld --initialize-insecure

初始化時將root用戶的登錄密碼設置為空。

注意,如果報錯:提示缺少MSVCP120.dll文件的話,后面有解決辦法。

初始化成功如下圖:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-tTRu6F8v-1640509917618)(imgs/56.png)]

初始化成功的另一個標志是,在MySQL的安裝目錄中,會多個data目錄,這個data目錄是是MySQL在初始化過程中創建的數據目錄。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wicrz8zz-1640509917619)(imgs/57.png)]

安裝Mysql服務

  • 1.以管理員身份打開cmd窗口,記住,一定要是管理員身份
  • 2.輸入mysqld install回車運行

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xIaOeYLB-1640509917621)(imgs/58.png)]

啟動Mysql服務

  • 現在系統的服務中就可以找到MySQL了。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Nj7asoWS-1640509917622)(imgs/59.png)]

  • 但此時MySQL服務還沒有啟動,你可以在服務中點擊啟動,也可以在終端中使用net命令來啟動/關閉MySQL服務。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UaBXJHAw-1640509917623)(imgs/60.png)]

  • ok,現在MySQL服務正常啟動了,并且,由于系統服務中的MySQL服務設置的是自動,下次系統啟動時,MySQL服務也默認啟動了。
  • 服務啟動成功之后,就可以登錄了
    • 輸入mysql -u root -p(第一次登錄沒有密碼,直接按回車過)
    • 但登錄成功之后需要設置密碼:
      • 語法: set password = password(‘密碼’) 為了方便記憶,密碼盡量簡單一點,但是實際工作中為了保證數據安全,密碼盡量設置的復雜一些。

可能發生問題處理

  • 缺少MSVCP120.dll文件

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UIRGJGo5-1640509917623)(imgs/61.png)]

  • 報錯原因是,系統缺少Visual C ++可再發行組件包。

  • 解決:

    • 打開microsoft官網:https://www.microsoft.com/en-us/download/details.aspx?id=40784,點擊下載:
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-00Porsji-1640509917625)(imgs/62.png)]
    • 根據系統位數選擇下載:
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cFNJPP2D-1640509917626)(imgs/63.png)]
    • 以管理員的身份運行,然后默認安裝即可。
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yUxkSD6Z-1640509917626)(imgs/64.png)]
    • 重新以管理員身份打開終端,重新執行初始化步驟吧!
    mysqld --initialize-insecure

Navicate下載安裝

  • Navicate是一種操作數據庫的可視化工具。
  • 下載地址:https://www.navicat.com.cn/products
  • 使用Navicate鏈接數據庫:連接成功之后,你就可以通過該軟件查看所有的數據庫文件了
    • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ScF0DVAf-1640509917627)(imgs/47.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-sgqPrNF5-1640509917628)(imgs/48.png)]

Sql概述

  • 先來看一個例子:小王第一次使用數據庫,然后跟數據庫來了個隔空對話

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ebG34XXT-1640509917629)(imgs/49.png)]

    • 其實,我們想一想,mysql是一個軟件,它有它自己一套的管理規則,我們想要跟它打交道,就必須遵守它的規則,如果我想獲取數據,它自己有一套規則,這個規則就是SQL。
  • 什么是sql?

    • SQL : 結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程言,是一種數據庫查詢和程序設計語言,SQL語言主要用于存取數據、查詢數據、更新數據和管理關系數據庫系統,SQL語言由IBM開發。
    • 其實簡單的說,就是你發送給他能識別的暗號,他懂了就會給你返回數據。
    • 注意:
      • 對于關系型數據庫而言,SQL語句是通用的,學會了一種,其他只是一些細微的差別,畢竟人家數據庫也是一個種族,語言是通用的,只不過有些存在方言的差別。
  • sql的分類

    • SQL語言分為3種類型:

      1、DDL語句 數據庫定義語言: 數據庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER

      2、DML語句 數據庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT

      3、DCL語句 數據庫控制語言: 例如控制用戶的訪問權限GRANT、REVOKE

庫表操作DDL

庫的增刪改查

這里的庫指的數據庫,也就是我們所謂的那個文件夾,一般情況下,我們在開發項目前,會先設計數據庫中相關表結構,一個項目中所有表都會放在同一個文件夾下,對于庫的操作屬于SQL分類中的DDL,也就是數據庫定義語言。

  • 創建數據庫

  • create database db1;
  • 創建數據庫并制定編碼

  • create database 庫名 charset 字符編碼 create database db1 charset utf8;
  • 使用數據庫

  • use 庫名
  • 查看所有數據庫和單獨常看當前數據庫

  • # 查看當前庫 select database(); # 查看所有數據庫 show datasets;
  • 修改數據庫

    • 數據庫的名稱一旦創建好之后就無法修改
    • 修改數據庫一般只修改編碼
  • alter database 庫名 charset 字符編碼 alter database db1 charset utf8;
  • 刪除數據庫

  • drop database 庫名 drop database db1;

表的增刪改查

創建表
  • create table 表名(字段名1 類型(寬度) 約束條件,字段名2 類型(寬度) 約束條件,字段名3 類型(寬度) 約束條件, ); 注意:1.字段名不能重復2.寬度和約束條件可選3.字段名和類型是必須的
查看表結構
  • desc 表名; show create table 表名;
數據類型

**字符串:**顧名思義,就是存儲的一連串的字符,例如文字

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jAvoIxxB-1640509917630)(imgs/50.png)]

?

  • 我們主要用到的是char和varchar這兩種字符串類型,二者的區別是面試經常考的內容

    • 區別1:定長和變長

      • char 固定長度,例如你定義了char(8),則這一列中存儲的內容長度都為8,不足8則會用空格補充(但是我們在查詢的時候是不會帶空格的,mysql會對此進行處理)

      • varchar 變長存儲,則根據實際的字符長度存儲,例如varchar(8),則不足8按照實際存儲

      • 注意:對于上述兩個類型,如果存儲的數據超過設定好的長度會如何?

        • 如果超過8則會根據你設置的sql_mode而定,默認是【NO_ENGINE*SUBSTITUTION】-非嚴格模式,這種情況下,超過8會被截斷;如果你的sql_*mode是 【strict_trans_tables】則超過8會報錯

        • 查看sql_mode模式

        • # 查看模式:默認是非嚴格模式 show variables like '%mode%'
        • 修改成嚴格模式:改完之后需要退出重登

        • set global sql_mode="strict_trans_tables";
    • 區別2:存儲方式

      • char直接存儲字符內容
      • varchar 開頭由1-2個字節存儲該字符的總長度,后面接著存儲字符內容
      • 兩種存儲方式的優劣
        • char的存取速度很快,但是由于是定長,當大部分內容沒有達到規定長度時,會浪費不少空間資源;varchar則不會,它根據實際長度存儲,但是由于存儲的特殊形式造成存取速度不及char。
        • char存儲的內容都為一個定值,則可以提高存取效果,因為varchar還要留出一部分存儲字符串的長度,則存取速度不如char。
        • 很早之前,大家都覺得varchar好,節省資源,但是到現在,磁盤資源已經不成問題,因此我更傾向于選擇char,也就是所謂的以空間換時間了。

數值型:常用的有:int ,double, float

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-g7CMXeGi-1640509917631)(imgs/51.png)]

  • 整數型:int 基本int能夠處理日常工作中大部分整數存儲問題
  • 小數型:double float
  • 強調一下float(5,2)其中5代表總長度,2代表小數長度,這個意思是整數是3位,小數是2位
  • 日常工作中float足以解決小數問題了。

日期類型

  • now()函數:返回當前系統時間

  • date:年月日

  • time:時分秒

  • datetime:年月日時分秒

select now();

ENUM和SET類型

  • 這里的類似于下拉字段,在進行數據插入的時候,必須選擇事先設置的內容
  • 對于set而言,可以多選,但是enum只能單選

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nUMfRpve-1640509917632)(imgs/53.png)]

create table t1(id int,name char(6),gender enum('female','male'),hobby set('抽煙','喝酒','燙頭')); insert into t1 values(1,'張三','female','喝酒,燙頭');
約束條件
  • 為了防止不符合規范的數據進入數據庫,在用戶對數據進行插入、修改、刪除等操作時,DBMS自動按照一定的約束條件對數據進行監測,使不符合規范的數據不能進入數據庫,以確保數據庫中存儲的數據正確、有效、相容。

  • 約束條件與數據類型的寬度一樣,都是可選參數,主要分為以下幾種:

    • NOT NULL :非空約束,指定某列不能為空;
    • DEFAULT:默認值
    • UNIQUE : 唯一約束,指定某列或者幾列組合不能重復
    • PRIMARY KEY :主鍵,指定該列的值可以唯一地標識該列記錄
    • FOREIGN KEY :外鍵,指定該行記錄從屬于主表中的一條記錄,主要用于參照完整性
  • not null:不為空,當你設置一個字段時,不允許它為空,可以使用此約束條件

  • create table t1(id int,name varchar(20) not null);
  • default 默認值

    • 例如:對于性別一列,如果大部分都是男性,可以設置成默認值,不填則取默認值,填寫了則覆蓋默認值
  • create table t2 (id int,name char(8),sex char(8) DEFAULT 'man');
  • unique 唯一:當有一列字段你不想讓它有重復值時,可以設置為唯一

create table t3(name varchar(10),perId int unique,age int)
  • 聯合唯一:只有當你設置的這些字段同時重復時才會報錯
create table t4(name varchar(10),perId int ,age int,unique(name,perID))
  • primary key

    • 主鍵為了保證表中的每一條數據的該字段都是表格中的唯一值。換言之,它是用來獨一無二地確認一個表格中的每一行數據。

    • 主鍵可以包含一個字段或多個字段。當主鍵包含多個字段時,稱為組合鍵 (Composite Key),也可以叫聯合主鍵。

    • 單字段主鍵:

    • create table t5(id int PRIMARY KEY,name varchar(10),age int)
    • 聯合主鍵:

    • create table t6(id int ,name varchar(10),age int,PRIMARY KEY(id,name))
  • auto_increment 自增字段:

    • 對于主鍵id而言,往往我們可以設置為自增字段,不用手動填寫

    • create table t7(id int PRIMARY KEY auto_increment ,name varchar(10),age int);
  • foreign key

    • 思考:

      • 假設我們要描述所有公司的員工,需要描述的屬性有這些 : 姓名,年齡,性別,部門,部門描述

      • 公司有3個部門,但是有1個億的員工,那意味著部門和部門描述這兩個字段需要重復存儲,部門名字和部門描述內容越長,越浪費內存,如何處理呢?

        • 解決方法: 我們完全可以定義一個部門表然后讓員工信息表關聯該表,如何關聯,即foreign key

        • [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OsD7OoB0-1640509917632)(imgs/54.png)]

          • foreign key(當前表中建立關系的外鍵字段) references 被關聯表名(id)
        • #先創建被關聯表 create table dep (id int primary key auto_increment,dep_name char(10) not null,dep_desc varchar(50) not null )#創建關聯表 create table emp (id int PRIMARY KEY auto_increment,name varchar(10),age int,gender enum('male','female'),dep_id int,FOREIGN KEY(dep_id) references dep(id) ) #作用: #1.減少數據的冗余度 #2.防止插入無效的臟數據
    • 級聯刪除,級聯更新

      • 兩張表建立關聯之后,如果部門表某個部門的砍掉了,那對應的人員表中的那些部門的人員相應的該怎么處理呢?可以保存,也可以隨之一起刪除.

        • 如果要保證兩表一致,則需要在設置外鍵時添加on delete cascade

        • 如果部門id更新了,要一起更新的話,則添加on update cascade

        • create table emp (id int PRIMARY KEY auto_increment,name varchar(10),age int,gender enum('male','female'),dep_id int,FOREIGN KEY(dep_id) references dep(id) on delete cascade on update cascade )
修改表
  • 修改表名

  • 修改表字段的數據類型

  • 修改表字段名

  • 修改字段名以及數據類型和約束

  • 新增字段

  • 刪除字段

刪除表

記錄操作DML

插入數據

  • 插入完整的數據

  • insert into tableName values (字段1,字段2)
  • 插入指定字段的數據

  • insert into tableName (name,age) values ('lisi',23)
  • 插入多條數據

  • insert into tableName values (字段1,字段2),(字段1,字段2)

更新數據

  • 單獨更新一個字段

  • update emp set age = 33 where name = 'zhangsan'
  • 更新多個字段

  • update emp set age = 33,sex='female' where name = 'zhangsan'

刪除數據

  • 刪除指定數據

  • delete from emp where name = 'lisi'
  • 刪除表中所有數據

  • delete from emp

查詢數據

單表查詢
  • 準備數據

  • #創建員工表,字段為: #id自增,員工名不能為空,性別只可以為male或者female且不能為空,默認值為male #age不能為空,默認值28,入職日期只顯示年月日,職位名稱,工資保留兩位小數,辦公室門牌號,部門idcreate table emp (id int PRIMARY KEY auto_increment,name varchar(10) not null,sex enum('female','male') default 'male',age int default 28,hireDate date,post char(10),salary float(9,2),office_num int,dep_id int)insert into emp (name,sex,age,hireDate,post,salary,office_num,dep_id) values ('huahua','male',18,'20170301','teacher',7300.33,401,1), #以下是教學部 ('weiwei','male',78,'20150302','teacher',1000000.31,401,1), ('lala','male',81,'20130305','teacher',8300,401,1), ('zhangsan','male',73,'20140701','teacher',3500,401,1), ('liulaogen','male',28,'20121101','teacher',2100,401,1), ('aal','female',18,'20110211','teacher',9000,401,1), ('zhugelang','male',18,'19000301','teacher',30000,401,1), ('成龍','male',48,'20101111','teacher',10000,401,1),('歪歪','female',48,'20150311','sale',3000.13,402,2),#以下是銷售部門 ('丫丫','female',38,'20101101','sale',2000.35,402,2), ('丁丁','female',18,'20110312','sale',1000.37,402,2), ('星星','female',18,'20160513','sale',3000.29,402,2), ('格格','female',28,'20170127','sale',4000.33,402,2),('張野','male',28,'20160311','operation',10000.13,403,3), #以下是運營部門 ('程咬金','male',18,'19970312','operation',20000,403,3), ('程咬銀','female',18,'20130311','operation',19000,403,3),
  • 查詢所有字段信息

  • select * from emp
  • 查詢指定字段信息

  • select name,salary from emp
  • 通過四則運算查詢

  • #查看所有員工的年薪 select name,salary from emp
- 為字段重命名- ```select name,salary*12 as year_salary from emp
  • 條件查詢where語句

    • 單條件查詢

    • #查看崗位是sale的員工名稱和崗位名稱 select name,post from emp where post='sale'
    - 多條件查詢1:結合and- ```#查詢崗位是教師且工資大于10000的員工名字和薪資select name,salary from emp where post='teacher' and salary > 10000
    • 多條件查詢2:結合or

    • #查詢員工薪資為3500,4000和9000的員工名稱和年齡 select name,age from emp where salary=3500 or salary=4000 or salary=9000
    - 多條件查詢3:結合between...and- ```#查詢員工薪資在1000到5000的員工名字和年齡和崗位名稱select name,age,post from emp where salary BETWEEN 1000 and 5000
    • 多條件查詢4:結合in

    • #查詢員工薪資為3500,4000和9000的員工名稱和年齡 select name,age from emp where salary in (3500,4000,900)
    • 多條件查詢5:結合not in

    • #查詢員工薪資不為3500,4000和9000的員工名稱和年齡 select name,age from emp where salary not in (3500,4000,900)
    - 模糊查詢like- 通配符%:表示多個字符- ```#查看姓zhang的員工的年紀,名字和薪資select name,age,salary from emp where name like 'zhang%'
    • 通配符_:表示一個字符

      • #查看姓zhang的員工的年紀,名字和薪資 select name,age,salary from emp where name like 'zhang___'
  • 分組查詢:group by

    • 簡單的分組查詢

      • 注意:使用group by的查詢字段必須是分組字段,否則會出錯,想要獲取其他字段信息,可以借助于group_concat或聚合函數
    • #根據崗位名稱進行分組 select post from emp group by post
    - 使用group_concat(字段名),可以實現在使用group by的查詢字段為其他字段名- ```select post from emp group by post
    • 分組聚合

    • #對崗位分組,查看分組后的崗位名稱和崗位人數 select post,count(id) from emp GROUP BY post;

    or
    select post,count(1) from emp GROUP BY post;

    - having子句- where 與 having的區別: - where 是針對分組之前的字段內容進行過濾,而having是針對分組后的- 注意:having后面的條件字段只可以是分組后結果中存在的字段名,否則會報錯!- ```#查看不同崗位下薪資超過6000的員工數量select post,count(1) from emp where salary > 6000 GROUP BY post #根據年齡分組查看年齡大于30的員工數量和姓名select age,GROUP_CONCAT(name) from emp GROUP BY age having age > 30#基于薪資分組,將大于4000員工的平均薪資求出select avg(salary) from emp GROUP BY salary having salary >= 4000```
  • 排序:order by

    • 升序: order by 字段 asc(默認升序,可以不寫)

    • 降序: order by 字段 desc

    • 單列排序:

    • #按照薪資的高低進行員工的排序 select name,post,salary from emp ORDER BY salary desc
    • 多列排序:越前面的列優先級越高

    • #根據年齡和薪資對員工排序 select name,age,salary,post from emp ORDER BY age,salary
  • limit

    • 顯示前三條數據

    • select * from emp LIMIT 3
    - 從0開始,先查出第一條,然后包含這條再往后查5條- ```select * from emp LIMIT 0,5
    • 從第3開始,即先查出第4條,然后包含這條再往后查7條

    • select * from emp LIMIT 3,7#查詢出薪資最高的前三名員工的信息 select * from emp ORDER BY salary desc LIMIT 3
  • 使用正則:regexp

  • #找出員工名字是以z開頭的select name from emp where name REGEXP "^zha" #找出員工名字是以n結尾的 select name from emp where name REGEXP "n$"
多表查詢

根據指定條件將兩張表中的數據進行合并,然后在合并后的結果表中進行數據的查詢

  • 準備數據

  • #創建部門表:主鍵id,name #創建員工表:主鍵id,name,sex非空-枚舉類型,年齡,部門id create table emp (id int primary key,name varchar(10),sex enum("male","female"),age int,dep_id int,#foreign key(dep_id) references dep(id) )create table dep (id int primary key,name varchar(10) )# 插入數據 (200,'技術'), (201,'人力資源'), (202,'銷售'), (203,'運營');('ailsa','male',18,200), ('lala','female',48,201), ('huahua','male',38,201), ('zhangsan','female',28,202), ('zhaosi','male',18,200), ('shenteng','female',18,204) ;
  • 內連接:

    • 兩張表公共的部分,必須同時有,沒有就不顯示
  • select * from emp as e inner join dep as d on e.dep_id = d.id
  • 外連接:

    • 兩張表進行指定條件連接,能連接的就連接,連接不了的顯示null
    • 把左右兩邊的數據都顯示完整,匹配不上的則顯示為null,在mysql中沒有真正的全外連接,可以使用union來實現
    select * from emp as e right join dep as d on e.dep_id = d.id union select * from emp as e left join dep as d on e.dep_id = d.id
  • 外連接之左連接

    • 以左表為主表,根據左表數據匹配右表,左表數據是全的,而右表若匹配不上則為null
  • select * from emp as e left join dep as d on e.dep_id = d.id
  • 外連接之右連接

    • 以右表為主表,根據右表數據匹配左表,右表數據是全的,而左表若匹配不上則為null
  • select * from emp as e right join dep as d on e.dep_id = d.id
- 符合條件的多表聯查- ```#示例1:以內連接的方式查詢emp和dep表,并且emp表中的age字段值必須大于25,即找出年齡大于25歲的員工以及員工所在的部門select e.name,d.name from emp as e inner join dep as d on e.dep_id = d.id where age > 25#示例2:以內連接的方式查詢emp和dep表,并且emp表中的age字段值必須大于25,并且以age字段的升序方式顯示select e.name,d.name from emp as e inner join dep as d on e.dep_id = d.id where age > 25 ORDER BY age
  • 子查詢:子查詢是將一個查詢語句嵌套在另一個查詢語句中

    • 帶in關鍵字的子查詢

      • 查詢平均年齡在25歲以上的部門名部門id
    • select id,name from dep where id in (select dep_id from emp GROUP BY dep_id having avg(age) > 25 )
- 查看技術部員工姓名和員工id- ```select name,id from emp where dep_id in (select id from dep where name = '技術')
  • 帶比較運算符的子查詢(比較運算符: =、!=、>、>=、<、<=、<>)

    • 查詢大于所有人平均年齡的員工與年齡

    select name,age from emp where age > (select avg(age) from emp)

綜合練習

  • 準備數據

  • CREATE TABLE class (cid int(11) NOT NULL AUTO_INCREMENT,caption varchar(32) NOT NULL,PRIMARY KEY (cid) ) ENGINE=InnoDB CHARSET=utf8;INSERT INTO class VALUES (1, '三年二班'), (2, '三年三班'), (3, '一年二班'), (4, '二年九班');CREATE TABLE teacher(tid int(11) NOT NULL AUTO_INCREMENT,tname varchar(32) NOT NULL,PRIMARY KEY (tid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO teacher VALUES (1, '張磊老師'), (2, '李平老師'), (3, '劉海燕老師'), (4, '朱云海老師'), (5, '李杰老師');CREATE TABLE course(cid int(11) NOT NULL AUTO_INCREMENT,cname varchar(32) NOT NULL,teacher_id int(11) NOT NULL,PRIMARY KEY (cid),FOREIGN KEY (teacher_id) REFERENCES teacher (tid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO course VALUES (1, '生物', 1), (2, '物理', 2), (3, '體育', 3), (4, '美術', 2);CREATE TABLE student(sid int(11) NOT NULL AUTO_INCREMENT,gender char(1) NOT NULL,class_id int(11) NOT NULL,sname varchar(32) NOT NULL,PRIMARY KEY (sid),FOREIGN KEY (class_id) REFERENCES class (cid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO student VALUES (1, '男', 1, '理解'), (2, '女', 1, '鋼蛋'), (3, '男', 1, '張三'), (4, '男', 1, '張一'), (5, '女', 1, '張二'), (6, '男', 1, '張四'), (7, '女', 2, '鐵錘'), (8, '男', 2, '李三'), (9, '男', 2, '李一'), (10, '女', 2, '李二'), (11, '男', 2, '李四'), (12, '女', 3, '如花'), (13, '男', 3, '劉三'), (14, '男', 3, '劉一'), (15, '女', 3, '劉二'), (16, '男', 3, '劉四');CREATE TABLE score (sid int(11) NOT NULL AUTO_INCREMENT,student_id int(11) NOT NULL,course_id int(11) NOT NULL,num int(11) NOT NULL,PRIMARY KEY (sid),KEY fk_score_course (course_id),CONSTRAINT fk_score_course FOREIGN KEY (course_id) REFERENCES course (cid),CONSTRAINT fk_score_student FOREIGN KEY (student_id) REFERENCES student(sid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO score VALUES (1, 1, 1, 10), (2, 1, 2, 9), (5, 1, 4, 66), (6, 2, 1, 8), (8, 2, 3, 68), (9, 2, 4, 99), (10, 3, 1, 77), (11, 3, 2, 66), (12, 3, 3, 87), (13, 3, 4, 99), (14, 4, 1, 79), (15, 4, 2, 11), (16, 4, 3, 67), (17, 4, 4, 100), (18, 5, 1, 79), (19, 5, 2, 11), (20, 5, 3, 67), (21, 5, 4, 100), (22, 6, 1, 9), (23, 6, 2, 100), (24, 6, 3, 67), (25, 6, 4, 100), (26, 7, 1, 9), (27, 7, 2, 100), (28, 7, 3, 67), (29, 7, 4, 88), (30, 8, 1, 9), (31, 8, 2, 100), (32, 8, 3, 67), (33, 8, 4, 88), (34, 9, 1, 91), (35, 9, 2, 88), (36, 9, 3, 67), (37, 9, 4, 22), (38, 10, 1, 90), (39, 10, 2, 77), (40, 10, 3, 43), (41, 10, 4, 87), (42, 11, 1, 90), (43, 11, 2, 77), (44, 11, 3, 43), (45, 11, 4, 87), (46, 12, 1, 90), (47, 12, 2, 77), (48, 12, 3, 43), (49, 12, 4, 87), (52, 13, 3, 87);
  • 題目

  • 1、查詢所有的課程的名稱以及對應的任課老師姓名2、查詢學生表中男女生各有多少人3、查詢物理成績等于100的學生的姓名4、查詢平均成績大于八十分的同學的姓名和平均成績5、查詢所有學生的學號,姓名,選課數,總成績6、 查詢姓李老師的個數7、 查詢沒有報李平老師課的學生姓名8、 查詢物理課程比生物課程高的學生的學號 返回每個學生的物理分數表和每個學生生物分數表,將其連接成一張表,然后進行條件查詢9、 查詢沒有同時選修物理課程和體育課程的學生姓名10、查詢掛科超過兩門(包括兩門)的學生姓名和掛科數量11、查詢選修了所有課程的學生姓名12、查詢李平老師教的課程的所有學生(id)的成績記錄13、查詢全部學生都選修了的課程號和課程名14、查詢每門課程被選修的次數(每門課有多少學生選擇)15、查詢只選修了一門課程的學生姓名和學號16、查詢所有學生考出的成績并按從高到低排序(成績去重:在需要去重字段前面加distinct)17、查詢平均成績大于85的學生姓名和平均成績18、查詢生物成績不及格的學生姓名和對應生物分數19、查詢在所有選修了李平老師課程的學生中,這些課程(李平老師的課程,不是所有課程)平均成績最高的學生姓名
  • 答案

  • 1、查詢所有的課程的名稱以及對應的任課老師姓名 select cname,tname from course as c inner join teacher as t on c.teacher_id = t.tid2、查詢學生表中男女生各有多少人 select gender,count(1) from student GROUP BY gender3、查詢物理成績等于100的學生的姓名 select sname from student as t inner join score as s on t.sid = s.student_id inner join course as c on c.cid = s.course_id where cname = '物理' and num = 1004、查詢平均成績大于八十分的同學的姓名和平均成績 select sname,avg(num) as 平均成績 from student as t inner join score as s on t.sid = s.student_id GROUP BY t.sid having avg(num) > 805、查詢所有學生的學號,姓名,選課數,總成績(存在有學生沒有選擇任何一門課) select t.sid,t.sname,count(s.course_id) as 選課數,sum(num) as 總成績 from student as t left join score as s on t.sid = s.student_id GROUP BY t.sid 6、 查詢姓李老師的個數 select count(1) from teacher where tname like '李%' 7、 查詢沒有報李平老師課的學生姓名 select sname from student where sid not in ( select t1.sid from student as t1 inner join score as s on t1.sid = s.student_id inner join course as c on s.course_id = c.cid inner join teacher t2 on c.teacher_id = t2.tid where tname = '李平老師' )8.查詢物理課程比生物課程高的學生的學號 select sw.sid from (select t.sid,num from student as t inner join score as s on t.sid = s.student_id inner join course as c on c.cid = s.course_id where cname = '生物') as sw inner join (select t.sid,num from student as t inner join score as s on t.sid = s.student_id inner join course as c on c.cid = s.course_id where cname = '物理') as wl on sw.sid = wl.sid where wl.num > sw.num9、 查詢沒有同時選修物理課程和體育課程的學生姓名 select t.sname from student as t inner join score as s on t.sid = s.student_id inner join course as c on c.cid = s.course_id where cname = '物理' or cname = '體育' GROUP BY t.sid having count(1) = 110、查詢掛科超過兩門(包括兩門)的學生姓名和掛科數量 select t.sname,count(1) from student as t inner join score as s on t.sid = s.student_id where num < 60 GROUP BY t.sid having count(1) >= 211、查詢選修了所有課程的學生姓名 select t.sname from student as t inner join score as s on t.sid = s.student_id GROUP BY t.sid having count(1) = (select count(1) from course) 12、查詢李平老師教的課程的所有學生(id)的成績記錄 select s.student_id,s.num from score as s inner join course as c on s.course_id = c.cid inner join teacher as t on t.tid = c.teacher_id where tname = '李平老師'13、查詢全部學生都選修了的課程號和課程名 select c.cid,c.cname from score as s inner join course as c on c.cid = s.course_id GROUP BY course_id having count(1) = (select count(1) from student)14、查詢每門課程被選修的次數(每門課有多少學生選擇) select course_id,count(1) from score GROUP BY course_id15、查詢只選修了一門課程的學生姓名和學號 select t.sname,t.sid from student as t inner join score as s on t.sid = s.student_id GROUP BY t.sid having count(1) = 116、查詢所有學生考出的成績并按從高到低排序(成績去重:在需要去重字段前面加distinctselect distinct num from score ORDER BY num desc17、查詢平均成績大于85的學生姓名和平均成績select t.sname,avg(num) as 平均成績 from student as t inner join score as s on t.sid = s.student_id GROUP BY t.sid having avg(num) > 8518、查詢生物成績不及格的學生姓名和對應生物分數 select t.sname,num from student as t inner join score as s on t.sid = s.student_id inner join course as c on c.cid = s.course_id where cname = '生物' and num < 6019、查詢在所有選修了李平老師課程的學生中,這些課程(李平老師的課程,不是所有課程)平均成績最高的學生姓名 select t.sname from student as t inner join score as s on t.sid = s.student_id inner join course as c on c.cid = s.course_id inner join teacher as tt on tt.tid = c.teacher_id where tname = '李平老師' GROUP BY t.sid ORDER BY avg(num) desc LIMIT 1

視圖

  • 什么是視圖?

    • mysql中的視圖與數據表有很多相似的地方,視圖是由若干個字段以及若干條記錄構成,視圖也可以作為select語句的數據源。
    • 視圖中保存的僅僅是一條select語句,或者說保存的是視圖的定義,并沒有保存真正的數據。數據庫表稱為基本表或者基表,視圖稱為虛表(因為沒有保存真正的數據)。
  • 創建視圖

  • create view empView as select * from emp;create view empView3 (name,age) as select name,age from emp;
  • 查詢視圖

  • select * from viewName
- 修改視圖- ```alter view viewName as select xxx
  • 刪除視圖

  • drop view viewName
  • 視圖的作用

    • 安全性:

      • 視圖的安全性可以防止未授權用戶查看特定的行或列,使有權限用戶只能看到表中特定行的方法
      • 就是給具有不同用戶提供不同的視圖
    • 簡單性:

      • 可以簡化用戶的操作,那些被經常使用的查詢可以被定義為視圖,從而使得用戶不必為以后的操作每次指定全部的條件。
    • 邏輯數據獨立性:

      • 視圖可以使應用程序和數據庫表在一定程度上獨立。如果沒有視圖,程序一定是建立在表上的。有了視圖之后,程序可以建立在視圖之上,從而程序與數據庫表被視圖分割開來

        • 如果應用建立在數據庫表上,當數據庫表發生變化時,可以在表上建立視圖,通過視圖屏蔽表的變化,從而使應用程序可以不動。

總結

以上是生活随笔為你收集整理的6.数据库(讲义)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久九九免费 | 久久国产福利 | 久久官网 | 日韩高清www | 夜夜爽天天爽 | 一区二区视频免费在线观看 | 成人蜜桃 | 亚洲精品视频在线观看网站 | 久久精品毛片 | 欧美大香线蕉线伊人久久 | 免费看污黄网站 | 日韩av午夜在线观看 | va视频在线观看 | 成人h在线观看 | www.人人干 | 亚洲激情在线观看 | 深夜免费福利 | 久久国产精品视频免费看 | 久久久久久久久久久免费视频 | 97免费视频在线 | 深夜精品福利 | 91精品久久久久久久91蜜桃 | 国产无遮挡猛进猛出免费软件 | 午夜影视剧场 | 99热99re6国产在线播放 | 99久久这里只有精品 | 中文字幕精品一区久久久久 | 亚洲精品成人av在线 | 国产999精品 | 成人网页在线免费观看 | 亚洲国产丝袜在线观看 | 久久久久久久久精 | 国产免费影院 | 免费久久片 | 99精品视频免费看 | 久久人人爽人人爽人人片av软件 | 久久精品视频国产 | 欧美一区二区三区免费观看 | 一级黄色在线视频 | 天天天天天天操 | 一区二区三区免费播放 | 六月丁香激情网 | 国产一区在线不卡 | 五月婷婷av | 国产精品二区三区 | 中文字幕 国产精品 | 国产精品第一视频 | 丝袜制服天堂 | 午夜视频免费播放 | 亚洲成人一区 | 波多野结衣精品在线 | 黄色.com| 午夜视频在线观看一区二区三区 | 欧美日韩精品免费观看视频 | 精品久久久久久亚洲综合网站 | 日韩色在线观看 | 99中文在线 | 91九色国产| 国产精品成人一区二区 | 久久久九色精品国产一区二区三区 | 人人舔人人舔 | av一区在线 | 国产va精品免费观看 | 正在播放久久 | 中文字幕在线影视资源 | 88av网站| 国产福利91精品一区二区三区 | 99精品视频免费看 | 五月天最新网址 | 在线日本看片免费人成视久网 | 国产打女人屁股调教97 | 天天综合入口 | 午夜性盈盈 | av电影免费看 | 久久精品资源 | 亚洲视频,欧洲视频 | 久久综合久久综合久久综合 | 91精品在线看 | 亚洲乱码精品久久久 | 欧美成年黄网站色视频 | 久久国产欧美日韩精品 | 国产剧情一区二区在线观看 | 999视频网 | 国产成人精品av | 成人黄色电影在线观看 | 国产亚洲精品久久久网站好莱 | 久久国产精品免费一区 | 香蕉91视频 | 久久久久久久久久久久电影 | 伊人日日干 | 黄色aaa级片 | 国产一区免费观看 | 亚洲精品乱码久久久久久蜜桃91 | 中文字幕一区二区三区四区在线视频 | 久久久久一区二区三区 | 国产一级特黄电影 | 日韩特级毛片 | 国产日韩精品在线观看 | 啪啪精品 | 91精品国产99久久久久久红楼 | 免费三级网| 西西4444www大胆无视频 | 亚洲一区二区视频在线播放 | 国产99久久久久久免费看 | 99情趣网视频 | 日韩精品在线看 | 国产特级毛片aaaaaa高清 | 免费看污黄网站 | 99re6热在线精品视频 | 超碰个人在线 | 国产尤物一区二区三区 | 久草视频免费在线观看 | 久久久91精品国产一区二区精品 | 在线免费观看一区二区三区 | 精品久久久久久久久久久久久久久久 | 中文字幕高清免费日韩视频在线 | 91手机电影 | 国产免费黄色 | 91精品国自产在线 | 日韩一级黄色av | 亚洲视频一区二区三区在线观看 | 成人久久综合 | 久久久久久久久免费视频 | www.香蕉视频 | 亚洲日本一区二区在线 | 国产自产在线视频 | 日韩免费播放 | 日本一区二区三区视频在线播放 | 在线看中文字幕 | 国产精品午夜在线观看 | 精品成人国产 | 国产亚洲精品久久久久久大师 | 三级av网| 国产精品嫩草影院9 | 国产在线国偷精品产拍 | 日日爽夜夜操 | 青春草免费视频 | 午夜精品久久久久久久99水蜜桃 | 久久爱资源网 | 成人一区二区三区在线观看 | 欧美激情综合五月 | 8x成人在线 | 五月激情电影 | 24小时日本在线www免费的 | 国产一级免费观看视频 | 久草久草久草久草 | 国产午夜精品在线 | 日韩一区二区在线免费观看 | 久久免费激情视频 | 永久免费的啪啪网站免费观看浪潮 | 中文字幕亚洲精品日韩 | 91av视频在线观看 | 日韩视频一区二区在线 | 免费观看9x视频网站在线观看 | 日韩精品一区在线观看 | 免费精品在线视频 | 激情丁香月 | 国产免费国产 | 91少妇精拍在线播放 | 婷婷久久久| 在线观看精品国产 | 久久99这里只有精品 | 国产成人免费网站 | 懂色av一区二区三区蜜臀 | 亚洲精品午夜aaa久久久 | 国产精品18久久久久久不卡孕妇 | 97品白浆高清久久久久久 | 久久久精品 | 91免费版成人 | 91色九色 | 久久精品伊人 | 亚洲综合色视频 | 日韩欧美99 | 日本h在线播放 | 免费看黄色毛片 | av蜜桃在线 | 久草在线精品观看 | 国产高清久久久久 | 欧美激情综合五月色丁香小说 | 婷婷丁香视频 | 国内精品视频一区二区三区八戒 | 国产蜜臀av| 亚洲最大的av网站 | av电影免费 | 四虎欧美 | 欧美xxxxx在线视频 | 青青草久草在线 | 国产黄色免费观看 | 天天色天天操天天爽 | av免费播放| 精品久久久久久久久久久久久 | 91桃色免费观看 | 亚洲视频精品 | 欧美不卡在线 | 色橹橹欧美在线观看视频高清 | 九九热免费精品视频 | 日本中文在线观看 | 中文字幕字幕中文 | 国产精品久久久久久久久久三级 | 免费日韩电影 | 超碰免费97| 日韩网站视频 | 免费在线观看日韩欧美 | 在线视频欧美日韩 | 久久国产一区二区三区 | 国产涩图 | 免费在线观看日韩欧美 | 91亚洲精品久久久久图片蜜桃 | 麻豆高清免费国产一区 | 国产精品久久一区二区无卡 | 手机看片久久 | 国产精品女主播一区二区三区 | 少妇搡bbbb搡bbb搡忠贞 | 免费看国产a | 天天操,夜夜操 | 久久综合久久综合这里只有精品 | 国产精品美女视频网站 | 在线之家免费在线观看电影 | 亚洲成人av电影在线 | 中文字幕色站 | 亚洲免费在线播放视频 | av电影一区 | 欧美激情视频一区二区三区 | 色综合欧洲 | 激情影院在线观看 | 欧美俄罗斯性视频 | 日韩视频一区二区三区 | 日韩欧美在线一区二区 | av免费在线网站 | 色先锋资源网 | 欧美日韩性视频 | 婷婷综合五月天 | 久久久久亚洲国产精品 | 欧美在线视频一区二区三区 | 国产成人av综合色 | 五月天丁香 | 婷婷色网 | 二区三区在线观看 | 日日射av | 国产美女无遮挡永久免费 | 色婷婷国产精品一区在线观看 | 一区三区视频在线观看 | 日韩av不卡在线播放 | www.操.com| 6080yy午夜一二三区久久 | 欧美日韩国产在线观看 | 国产最新视频在线 | 欧美性生活小视频 | 手机看片99 | 狠狠狠狠狠色综合 | 亚洲成人资源在线观看 | 人人爽久久久噜噜噜电影 | 国产在线va | 亚洲日本一区二区在线 | 在线播放亚洲 | 99热手机在线观看 | 国产精品mm | 精品久久国产精品 | 夜夜操天天干 | 99久久这里有精品 | 中文字幕在线专区 | 日韩视频一区二区三区在线播放免费观看 | 日日干天天爽 | 亚洲精品美女久久久 | 久草在线综合 | 国产精品成人免费 | 午夜精品电影 | 日韩黄色大片在线观看 | av免费在线网站 | 国产午夜精品一区二区三区欧美 | 亚州欧美视频 | 黄色网www | 在线看v片 | 国产精品一区二区在线播放 | 日韩艹| 992tv人人网tv亚洲精品 | 国产精品你懂的在线观看 | 九九免费精品视频在线观看 | 草草草影院 | 国产精品第 | 日韩精品视频免费在线观看 | 欧美日韩国产区 | 欧美午夜精品久久久久久浪潮 | 日韩免费看| 黄色www免费| 亚洲电影自拍 | 久久男人中文字幕资源站 | 欧美一级片在线观看视频 | 欧美另类色图 | h动漫中文字幕 | 狠狠久久综合 | 婷婷草 | 亚洲免费观看视频 | 免费久久网 | 超碰在线观看99 | www国产亚洲 | 成人影音av | 亚洲 综合 激情 | 很黄很黄的网站免费的 | 97超级碰碰碰碰久久久久 | 91麻豆操 | 欧美福利片在线观看 | 国产一级片观看 | 国产精品都在这里 | 欧美成人91 | 精品久久久久久久久久久久 | 99re亚洲国产精品 | 在线亚洲欧美日韩 | 精品国产视频在线观看 | 91九色蝌蚪视频在线 | 日韩免费视频一区二区 | 久久99九九99精品 | 最近日本字幕mv免费观看在线 | 在线免费色视频 | 97超碰影视 | 日日躁夜夜躁xxxxaaaa | 国产亚洲视频系列 | 91九色国产视频 | 99久高清在线观看视频99精品热在线观看视频 | 人人艹人人| 大荫蒂欧美视频另类xxxx | 丁香九月婷婷综合 | 97超碰国产在线 | 精品国产一区二区三区久久久蜜月 | 亚洲免费公开视频 | 黄色小说免费观看 | 日韩免费在线播放 | 日本黄色免费在线观看 | 在线免费视 | 99色 | 日本精品视频在线观看 | 99国产免费网址 | 日本护士三级少妇三级999 | av三级av| 午夜精品久久久久久久99 | 亚洲成人二区 | 天天添夜夜操 | 永久免费看av | 国产色婷婷精品综合在线手机播放 | 99久久精品无免国产免费 | 亚洲a免费| 亚洲精品国偷拍自产在线观看蜜桃 | 狠狠综合久久 | 成人久久免费视频 | 国产小视频免费在线网址 | 一本之道乱码区 | 色久综合 | 91精品国产综合久久久久久久 | 天天色天天综合 | 99久久这里只有精品 | 久久久久久久久亚洲精品 | 女人18片| 69国产精品成人在线播放 | 精品视频国产 | www.色爱 | 干 操 插 | 成人中文字幕+乱码+中文字幕 | 国产片免费在线观看视频 | 久久久亚洲麻豆日韩精品一区三区 | 91av网址 | 国产中文字幕在线视频 | 国产伦理一区 | 日韩成人黄色 | 天天干天天在线 | 欧美日韩国产页 | 亚洲九九九在线观看 | 啪嗒啪嗒免费观看完整版 | 免费观看成人网 | 日韩美女免费线视频 | 亚洲精品国精品久久99热 | 亚洲资源在线网 | 99久久婷婷国产综合精品 | 91黄色影视 | 欧美a级成人淫片免费看 | 亚洲黄色成人 | 免费视频 三区 | 国产精品女主播一区二区三区 | 色插综合 | 国产精品aⅴ | 在线天堂中文在线资源网 | 国产精品视频免费在线观看 | 国产精品成人国产乱一区 | 久久久精品成人 | 黄色大全免费观看 | 日韩国产精品一区 | 成人午夜影院在线观看 | 三级黄色片在线观看 | 亚洲国产午夜 | 欧美做受xxx| 麻豆91精品视频 | 欧美一级黄色网 | 亚洲视频 中文字幕 | 国产一级视屏 | 黄色a级片在线观看 | 81国产精品久久久久久久久久 | 日韩精品不卡在线观看 | 五月花婷婷 | 欧美视频不卡 | 久久国产精品免费一区二区三区 | 亚洲精品视频在线观看免费 | 国产精品理论片在线观看 | 国产精品精 | 超碰人人在 | 97免费公开视频 | 国产一级视屏 | 亚洲综合五月 | 韩国三级av在线 | 天天射综合| 亚洲无毛专区 | 成年人免费在线看 | 欧美大片在线观看一区 | 国产高清视频免费在线观看 | 97视频人人澡人人爽 | 在线免费观看国产 | 成人av电影免费在线播放 | 久久亚洲美女 | 久久久久亚洲精品成人网小说 | 中文字幕资源网在线观看 | 超碰人人在线观看 | 高清有码中文字幕 | 日本在线观看一区二区三区 | 不卡在线一区 | 亚洲天堂视频在线 | 精品国产自在精品国产精野外直播 | 国产精品婷婷午夜在线观看 | 免费在线观看成年人视频 | 亚洲免费国产视频 | 一区二区三区在线播放 | 欧洲亚洲激情 | 韩日电影在线免费看 | 亚洲国产剧情 | www国产精品com | 成人免费xxx在线观看 | 久久99精品久久久久久三级 | 国产精品原创av片国产免费 | 九九热国产 | 黄色视屏免费在线观看 | 狠狠狠操 | 国产免费美女 | 欧美激情亚洲综合 | 国产视频1| 国产精品视频在线观看 | 亚洲国产精品一区二区尤物区 | 国产免费黄视频在线观看 | 丁香婷婷电影 | 精品国产99 | 日日夜夜狠狠操 | 国产在线精品国自产拍影院 | 91精品在线免费观看 | 在线观看久久 | 久久人网 | 日韩精品免费在线观看 | 日韩精品免费一区二区 | 国产美女无遮挡永久免费 | 久久久免费网站 | 国产精品久久久久三级 | 中文字幕精品www乱入免费视频 | 亚洲精品在线一区二区三区 | 中文成人字幕 | 五月天婷婷狠狠 | 国产美女视频免费 | 激情五月在线 | 免费看的黄网站软件 | 免费网站看v片在线a | 亚洲男男gaygay无套同网址 | 中文字幕免费在线 | 亚洲精品中文在线观看 | 91在线视频导航 | а天堂中文最新一区二区三区 | 久久公开免费视频 | 色综合久久久久久久久五月 | 日本二区三区在线 | 国产精品久久久久免费 | 亚洲午夜久久久久久久久久久 | 在线电影日韩 | 欧美成人区 | 免费在线观看成人小视频 | 激情中文在线 | 伊人天天色| 国产糖心vlog在线观看 | 精品欧美一区二区三区久久久 | 香蕉视频18 | 97成人精品 | 美女视频黄免费网站 | 日韩r级电影在线观看 | 国产小视频免费在线观看 | 一区二区三区四区五区六区 | 97视频久久久 | 干av在线 | 狠狠色综合欧美激情 | 一区二区三区四区免费视频 | 99免费看片 | 77国产精品| 久久久久久久久久久久久国产精品 | 国产成人一区二区三区 | 日韩在线网址 | 色网站在线看 | 日韩极品视频在线观看 | 免费看的毛片 | 久久久久北条麻妃免费看 | 久久久久久久久久影院 | 国产精品第10页 | 超级碰视频 | 国产成人一区二区三区 | 在线亚洲小视频 | 国产精品久久久久9999 | 日韩免费电影一区二区三区 | 欧美aaa视频| 欧美一级视频免费 | 五月天婷亚洲天综合网精品偷 | 999久久久欧美日韩黑人 | 午夜性色 | 天天插天天爱 | 成人综合日日夜夜 | 久久久久久久精 | 99久久日韩精品免费热麻豆美女 | 久久99精品国产 | 亚洲免费av电影 | 精品国产一区二区三区av性色 | 免费男女网站 | 久久久久久久久久久成人 | 手机av永久免费 | 深夜激情影院 | 国产视 | 色综合国产 | 国产精品精 | 国产黄大片在线观看 | 深爱婷婷久久综合 | 伊人五月天婷婷 | 国产一级视频在线免费观看 | 久久欧美综合 | 国产免费又爽又刺激在线观看 | 四虎永久精品在线 | 国产精品一区二区电影 | 91字幕| 日韩精品一区二区电影 | av久久久| 在线av资源 | 国产视频美女 | 亚洲精品国偷拍自产在线观看 | 国内精品久久久久久久久久久 | 久久精品韩国 | 人人讲| 国产精品视频一二三 | 91视频免费| 欧美日韩久久 | 伊人超碰在线 | 国产97在线观看 | 人交video另类hd | 免费97视频 | 国产一二三四在线观看视频 | 亚洲在线精品 | 99热最新在线 | 成人av在线观 | 久久国产精品免费看 | 97在线观看免费高清完整版在线观看 | 99精品欧美一区二区三区 | 久久国产经典视频 | 中文字幕在线观看2018 | 国产精品ssss在线亚洲 | 五月天激情视频在线观看 | 97在线观视频免费观看 | 丁香av | 天天色天天操天天爽 | 亚洲综合五月天 | 美女国内精品自产拍在线播放 | 久久成人国产精品免费软件 | 亚洲精品久久视频 | av资源网在线播放 | 国产成人一区二区在线观看 | 高清国产午夜精品久久久久久 | 精品在线视频一区 | 精品一二三区视频 | 国产视频不卡 | 一级免费av | 久久久久亚洲国产 | 99r在线播放 | 97在线播放视频 | 中文字幕在线一区观看 | 欧美成人亚洲 | 99国产在线 | 国产精品女主播一区二区三区 | 探花视频在线版播放免费观看 | 黄色三级视频片 | 成人av资源站 | 91精品久久久久久 | 92精品国产成人观看免费 | 亚洲作爱 | 五月婷婷综合网 | 国产在线精品观看 | 日韩免费不卡av | 久久涩涩网站 | 粉嫩av一区二区三区四区 | 九九色在线观看 | 天天综合网在线 | 69成人在线| 91av九色| 中文字幕在线视频一区二区 | 国产一级做a爱片久久毛片a | 中国一级特黄毛片大片久久 | 高清在线一区 | 中文字幕在线视频精品 | 国产高清精品在线观看 | 一本一本久久a久久精品牛牛影视 | 天天干天天草天天爽 | 最近日本字幕mv免费观看在线 | 视频国产在线观看18 | 国产欧美综合视频 | 久久三级视频 | 日韩性色| 在线天堂日本 | 国产日韩欧美网站 | 91禁看片| 亚洲成a人片在线www | 福利视频入口 | 亚洲视频一区二区三区在线观看 | 欧美a级在线 | 91超国产| 欧美在线99| 毛片视频网址 | 公与妇乱理三级xxx 在线观看视频在线观看 | 一级黄色片在线免费观看 | 久草视频在线资源站 | 天天综合网国产 | 中文字幕欧美日韩va免费视频 | 麻豆免费在线播放 | 胖bbbb搡bbbb擦bbbb| 亚洲不卡av一区二区三区 | 国产精品永久免费在线 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 久久成人亚洲欧美电影 | 国产成人黄色网址 | 免费黄色av | www.香蕉 | 在线精品亚洲一区二区 | 国产黑丝一区二区 | 天天艹天天 | 日本在线观看视频一区 | 天天射天天干天天插 | 欧美精品一区二区蜜臀亚洲 | 亚洲黄色成人网 | 97在线观看 | 久久久国产一区 | 欧亚久久| 日韩深夜在线观看 | 日韩毛片在线播放 | 在线观看国产麻豆 | 在线观看国产91 | 青青草华人在线视频 | 欧美激情另类文学 | 国产成人亚洲在线观看 | 日产乱码一二三区别在线 | 欧美精品久久 | 曰本三级在线 | 在线看毛片网站 | 午夜精品av | 精品国模一区二区三区 | 欧美狠狠操| 国产精品原创视频 | 国产精品99久久久久久久久久久久 | 九九天堂 | 免费中文字幕 | 日韩视频在线不卡 | 午夜视频在线观看一区二区三区 | 日日摸日日爽 | 久久理论电影 | 久久美女精品 | 久久91网 | 欧美日bb | 亚洲v欧美v国产v在线观看 | 色综合天天狠天天透天天伊人 | 五月天综合在线 | 午夜久久网 | 国产黄色视 | 色综合咪咪久久网 | 久久人人爽人人爽 | 一区二区三区四区影院 | 91黄色免费网站 | 天堂中文在线播放 | 欧美日韩性 | 欧美精品视 | 精品久久久久久久久久久久久久久久 | 丁香视频免费观看 | 日韩午夜高清 | 午夜精品久久久久久久久久久久 | 狠狠色综合网站久久久久久久 | 亚洲性视频 | 一区二区不卡视频在线观看 | 色婷婷www| 精品久久久久久久久久久院品网 | 国产黄色视| 免费三级网 | 国产国语在线 | 又黄又刺激的视频 | 日本韩国精品在线 | 96av麻豆蜜桃一区二区 | 正在播放国产一区 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产69久久精品成人看 | 色九色 | 97在线免费视频 | 日韩欧美综合精品 | 蜜臀91丨九色丨蝌蚪老版 | 久久天天操 | 婷婷精品国产一区二区三区日韩 | 免费国产黄线在线观看视频 | 色永久免费视频 | 视频在线观看91 | 成年人在线观看免费视频 | 亚洲视频一级 | 国内精品免费久久影院 | 91九色精品国产 | 瑞典xxxx性hd极品 | 色网站在线看 | 成人久久国产 | 午夜久久视频 | 亚洲午夜av电影 | 日韩在线无 | 色视频网站在线观看一=区 a视频免费在线观看 | 国产精品婷婷午夜在线观看 | 超碰人人超 | 91爱爱中文字幕 | 中文字幕在线不卡国产视频 | 亚洲激情视频 | 亚洲精品国产成人 | 久视频在线播放 | av一区在线 | 日韩免费大片 | 欧美国产日韩一区二区三区 | 国产人在线成免费视频 | 亚洲精品福利在线观看 | 97视频中文字幕 | av在线电影免费观看 | 97夜夜澡人人爽人人免费 | 波多野结衣在线视频免费观看 | 日狠狠 | 日本xxxx.com| 日韩视频欧美视频 | 91一区一区三区 | 欧美一区日韩一区 | 久久久久国产一区二区 | 精品久久久久久亚洲 | 国产录像在线观看 | 亚洲国产欧洲综合997久久, | 日韩综合精品 | av品善网 | 国产一级二级在线观看 | 国产综合精品一区二区三区 | 日韩精品一卡 | 操操操天天操 | 黄网站色成年免费观看 | 国产视频 久久久 | 在线观看视频国产一区 | 久久精品96 | 最近中文字幕高清字幕在线视频 | 亚洲在线视频观看 | 91爱看片| 女人18片毛片90分钟 | 欧美日韩国产成人 | 日本久久不卡视频 | 日韩精品在线观看视频 | 欧美日韩天堂 | 色婷婷视频在线观看 | 日本精a在线观看 | 国产精品永久免费视频 | 91免费观看网站 | 成人国产一区 | 久久国产品 | 国产黄在线 | 国产视频一 | 麻豆一级视频 | 久草9视频 | 黄色激情网址 | 久久免费精品 | 毛片精品免费在线观看 | 四虎影视成人精品国库在线观看 | 亚洲国产成人精品在线观看 | 狠狠干.com | 国产亚洲精品精品精品 | 欧美性爽爽 | 99精品一区二区三区 | 国产区精品区 | 黄色国产高清 | 久草在线资源视频 | 国产精品初高中精品久久 | 蜜臀精品久久久久久蜜臀 | 欧美污在线观看 | 国产伦精品一区二区三区在线 | 国产精品免费在线播放 | 亚洲视频在线观看网站 | 亚洲成人精品国产 | zzijzzij亚洲日本少妇熟睡 | 久久综合久色欧美综合狠狠 | 亚洲另类xxxx | www.色五月 | 久久99网站| 成年人免费电影在线观看 | 伊人资源视频在线 | 午夜视频黄 | 国产精品毛片一区视频播 | 色婷婷六月| 久久爱资源网 | 日日爱999| 色婷婷激情四射 | 99热 精品在线 | 超碰97国产精品人人cao | 久久国产精品第一页 | 亚洲丝袜一区二区 | 国产一级黄色免费看 | 成人黄色片在线播放 | 成人黄色大片在线观看 | 国产91影院 | 国产成人福利片 | 久久视频免费在线 | 久久国产精品一区二区三区 | 欧美午夜久久久 | 精品网站999www| 日本aa在线 | 国产第一二区 | 国产一区二区在线视频观看 | 天天天天天天天操 | 亚洲一二三区精品 | 激情网站免费观看 | 午夜精品久久久久久99热明星 | 91日韩在线 | 97免费在线观看视频 | 91精品蜜桃 | 亚洲第一区在线播放 | 国产日韩视频在线观看 | 国产精品成人一区 | 91中文视频 | 国产资源精品在线观看 | 国产999免费视频 | 我爱av激情网 | 国产精品久久99综合免费观看尤物 | 国产真实精品久久二三区 | av在线成人 | 91色国产在线 | 欧美性视频网站 | 中文在线中文a | 国产一二区视频 | 日本aaaa级毛片在线看 | av电影在线免费观看 | 婷婷六月网 | 精品免费久久 | 91少妇精拍在线播放 | 高清色免费 | 成年人免费av | 麻豆视频www | 日韩中文在线视频 | 国产成人精品午夜在线播放 | 色婷婷电影 | 亚洲精品欧洲精品 | 一区二区精品视频 | 91电影福利 | 91福利试看 | 成人av电影免费在线观看 | 国产香蕉97碰碰碰视频在线观看 | 五月激情丁香婷婷 | 国产日韩中文在线 | 蜜臀久久99精品久久久酒店新书 | 91精品久久久久久综合乱菊 | 中国一级片在线观看 | 香蕉视频4aa | 天天曰夜夜爽 | 国产成人精品一区一区一区 | 亚洲国产日本 | 探花视频在线观看+在线播放 | 国产精品美女www爽爽爽视频 | 在线观看一区二区视频 | 99在线免费视频观看 | 人人插人人射 | 国产高清福利在线 | 日韩综合在线观看 | 久久高视频 | 女人18精品一区二区三区 | 狠狠干免费 | 天堂网一区二区三区 | 91三级视频 | 在线观看香蕉视频 | av色综合网 | 午夜久久影视 | 国产精品一区二 | 69国产盗摄一区二区三区五区 | 少妇bbbb| 色97在线| 在线观看日本高清mv视频 | 成人中文字幕在线 | 久久亚洲私人国产精品va | 三级视频日韩 | 久久伊人综合 | 91av视频网 | 美女视频免费一区二区 | 久久国产精品一区二区三区四区 | 99热在线看 | 成人在线视频你懂的 | 国产日韩欧美视频在线观看 | 久久精美视频 | 国产一级片网站 | 99在线精品视频在线观看 | 国产在线资源 | 在线v片| 黄色网www| 免费av小说 | 在线一二三四区 | av中文字幕免费在线观看 | 亚洲在线日韩 | 国产精品久久久久久a | 久久av免费| adc在线观看 | 成人动漫精品一区二区 | 婷婷视频| 国产视频18| 婷婷视频在线观看 | 亚州黄色一级 | 久久人人97超碰国产公开结果 | 久久黄色片子 | 成人免费av电影 | 色网站在线免费 | 国产精品久久99综合免费观看尤物 | 成人毛片一区 | 国产精品短视频 | 亚洲成av人片在线观看无 | 免费网站在线 | 国产亚洲aⅴaaaaaa毛片 | 亚洲国产精彩中文乱码av | 久久私人影院 | 亚洲国产网址 | 精品国产一区二区三区av性色 | 日韩 在线a | 国产日韩精品一区二区在线观看播放 | 在线观看麻豆av | 欧美亚洲另类在线视频 | 亚洲少妇激情 | 99视频精品视频高清免费 | 亚洲va男人天堂 | 国产又粗又长的视频 | 五月天激情综合 | a v在线观看 | 国产精品 日韩 | 国产不卡免费 | 丁香六月婷 | 人人看97 | 国产免费人成xvideos视频 | 成人午夜毛片 | 免费视频 你懂的 | 久av电影| 国产日韩精品久久 | 亚洲激情在线观看 | 一区二区三区 中文字幕 | 黄色成人毛片 | 少妇性aaaaaaaaa视频 | 夜夜夜夜操 | 91av在线视频免费观看 | 97综合网| 少妇搡bbbb搡bbb搡aa | 欧美色综合久久 | 欧美黑吊大战白妞欧美 | 日日夜夜精品免费观看 | 91大神精品视频在线观看 | 久久久精品免费观看 | 亚洲欧美色婷婷 | 国产品久精国精产拍 | 亚洲精品国 | 91精品啪在线观看国产线免费 | 福利二区视频 | 91少妇精拍在线播放 | 五月天久久久久久 | 77国产精品| 97电影网站 | 天天射天天干天天插 | 亚洲资源一区 | 特黄特黄的视频 | 国产美女久久 | 激情校园亚洲 | 欧美一区在线观看视频 | 久久99视频 | 久久婷综合 | 黄a在线 | 亚洲欧美激情精品一区二区 | 中文字幕久久精品 | a视频在线播放 | 亚洲美女在线国产 | 91久久精品日日躁夜夜躁国产 | 欧美在线久久 | 国产一区二区在线精品 | 天天操天天干天天干 | 91在线视频导航 | 亚洲国内精品 | 久久国产精品免费视频 | 欧美一二三在线 | 亚洲成人网在线 | 色资源中文字幕 | va视频在线 | 深夜免费福利视频 | 国产一区精品在线 | 亚洲国产三级 |