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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql基础入门(参照b站黑马程序员整理)

發布時間:2023/12/9 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql基础入门(参照b站黑马程序员整理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql 基礎

一、 概述:

1、課程內容和數據相關概念

? 數據庫的概念:存儲數據的倉庫,數據是又組織的進行存儲

? 數據庫管理系統:操作和管理數據庫的大型軟件

? SQL: 操作關系型數據庫的編程語言,定義了一套操作關系型數據庫統一標準

2、關系型數據庫:

? 建立在關系模型基礎上,由多張表相關連接的二維表組成的數據庫

? 數據模型:

? 客戶端 --> DBMS --> 數據庫1、數據庫2 --> 表1、表2

二、SQL

? 1、SQL通用語法:關鍵字建議大寫

? 2、SQL分類:DDL(Data Definition Language)、DML(Data Manipulation Language)、DQL(Data Query Language)、DCL(Data Control Language).

? 3、DDL: 數據庫定義語言,創建數據庫、創建表

? a、查詢數據庫:

? 語法: SHOW DATABASES; —> 查詢所有數據庫

? 語法: SELECT DATABASE(); —>查詢當前數據庫

? b、創建數據庫

? 語法: CREATE DATABASE [ IF NOT EXISTS ] 數據庫名 [ DEFAULT CHARSET 字符集(UTF-8)] [ COLLATE 排序規則 ];

? c、刪除數據庫

? 語法: DROP DATABASE [ IF EXISTS ] 數據庫名;

? d、使用數據庫

? 語法: USE 數據庫名;

? e、表操作-> 創建&查詢表

? 使用數據庫后,查看表 :SHOW TABLES;

? 查詢表結構 :DESC 表名;

? 查詢指標的創建語句 : SHOW CREATE TABLE 表名;

? 創建表結構:

? 語法:CREATE TABLE 表名(

? 字段1 字段1類型 [ COMMENT 字段1 注釋 ],

? 字段2 字段2類型 [ COMMENT 字段2 注釋 ],

? ……

? 字段n 字段n類型 [ COMMENT 字段n 注釋 ]

? ) [ COMMENT 表注釋 ];

? f、 表操作 --> 數據類型:mysql 數據類型分為很多,主流的是數值型、字符串類型、日 期時間類型

? 01: MySQL 數值數據類型

? 02:MySQL 字符串數據類型

? char 和 vachar 相比 char的性能比vachar 的性能更好。

? 03: MySQL 日期型數據類型


? 04 : 案例:

DROP TABLE IF EXISTS tb_emp; CREATE TABLE tb_emp(id int COMMENT '編號',workno VARCHAR(10) COMMENT '員工編號',name VARCHAR(10) COMMENT '員工姓名',sex CHAR(1) COMMENT '性別',age TINYINT UNSIGNED COMMENT '年齡',identy CHAR(18) COMMENT '身份證',entry DATE COMMENT '入職時間' )COMMENT '員工表'

? g 表操作–>修改

? 01 添加字段:ALTER TABLE 表名 ADD 字段名 字段類型[(長度)] [COMMENT ‘備注‘] [約束];

? 02 修改字段:

? 修改字段類型:

? 語法:ALTER TABLE 表名 MODIFY 字段名 新數據類型 [(長度)] ;

? 修改字段名和字段類型:

? 語法:ALTER TABLE 表名 CHANGE 字段名 新字段名 數據類型[(長度)] [COMMENT ‘備注’] [約束];

? 案例 : 將tb_emp 的nickname修改為username 數據類型為 varchar(30)

? ALTER TABLE tb_emp CHANGE nickname username varchar(30);

? 03 刪除表字段

? 語法:ALTER TABLE 表名 DROP 字段名;

? 案例 :刪除 tb_emp的username 字段;

? 語法:ALTER TABLE tb_emp DROP username;

? 04 修改表名

? ALTER TABLE 表名 RENAME TO 新表名;

? 案例: 修改tb_emp 的表名為 tb_employee

? 語法: ALTER TABLE tb_emp RENAME TO tb_employee;

? 05 表操作 -->刪除表: 刪除表時,表的數據也會被刪除。

? 刪除指定表 不安全模式,刪除表后 無法恢復 慎用

? 語法: DROP TABLE [ IF EXISTS ] 表名;

? 刪除指定表,并重新創建一個具有相同結構的空表

? 語法: TRUNCATE TABLE 表名;

? 案例: 刪除tb_user 表 DROP TABLE IF EXISTS tb_user;

? 案例: 刪除 tb_employee 表 并保留其表結構

? 語法: TRUNCATE TABLE tb_employee;

? 4、DML: 數據庫操作語言,用于對數據表中的數據進行增刪改操作

? a、INSERT 插入(增加)數據(黑馬 P12課程 需要重新觀看一次)

? 給指定字段插入數據:

? 語法: INSERT INTO 表名 (字段名1,字段名2,…) VALUES (value1,value2,…);

? 備注: 字段名1和value1 對應 字段名2 和value2 對應,…

? 給表的全部字段插入數據

? 語法: INSERT INTO 表名 VALUES (值1,值2,…);

? 備注: 此時必須將值的數據全部和字段進行對應

? 批量插入:

? 語法: INSERT INTO 表名 (字段名1,字段名2,…) VALUES (value1,value2,…),(value1,value2,…),(value1,value2,…),…;

? 語法: INSERT INTO 表名 VALUES (值1,值2,…),(值1,值2,…),(值1,值2,…),…;

? 注意:插入數據時,字段的順序要和給定的值的順序一一對應,字符串和日期應該包含在引號中,給定的數值不能超過字段定義的大小

? b、UPDATE 修改數據

? 語法: UPDATE 表名 SET 字段1=值1,字段2=值2,… [WHERE 條件…];

? 注意: 修改語句的條件可以有,也可以沒有,如果沒有條件,那么會修改整個表的數據

? 案例:

# 案例 將所有員工的入職日期修改為“2021-01-18” update tb_employee SET entry='2021-01-18';

? c、DELETE 刪除數據

? DELETE 語句的條件可以有,也可以沒有,如果沒有條件,那么會刪除整張表的數據 DELETE 語句不能刪除某一個字段的值(可以使用update 語句)

? 語法: DELETE FROM 表名 WHERE 條件

? 5、DQL: 數據庫查詢語言,用來查詢數據庫中的表記錄

? 查詢關鍵字 SELECT

? 完整格式

? 語法: SELECT * [ 字段1 [ AS 別名 ],字段2,… ] FROM 表名1 [ AS 別名 ],[ 表名2,… ] [ WHERE 條件1 AND 條件2 AND… ] [ GROUP BY 分組字段1,分組字段2,… ] [ HAVING 分組后條件列表 ] [ ORDER BY 排序字段列表 ] [ LIMIT 分頁參數 ]

? 如圖:


? a、基本查詢:

? 01: 查詢多個字段 SELECT 字段列表 FROM 表名

? 語法: SELECT * FROM 表名;

? 語法: SELECT 字段1 [AS 別名1],字段2 [AS 別名2],… FROM 表名;

? 去除重復記錄: DISTINCT 關鍵字 , 語法:SELECT DISTINCT 字段列表 FROM 表名;

? 案例: 見下方腳本塊

DROP TABLE IF EXISTS employee;# 創建表 employee CREATE TABLE employee (id int COMMENT '編號',workno VARCHAR(10) COMMENT '員工編號',name VARCHAR(10) COMMENT '員工姓名',gender CHAR(1) COMMENT '性別',age TINYINT UNSIGNED COMMENT '年齡',idcard CHAR(18) COMMENT '身份證',workaddress varchar(50) COMMENT '工作地址',entry DATE COMMENT '入職時間' ) COMMENT '員工表';# 插入 數據 INSERT INTO employee(id, workno, name, gender, age, idcard, workaddress, entry) values (1, '1', '柳巖', '女', 20, '123456789012345670', '北京', '2000-01-01'),(2, '2', '張無忌', '男', 18, '123456789012345671', '北京', '2005-09-01'),(3, '3', '韋一笑', '男', 38, '123456789012345672', '上海', '2005-08-01'),(4, '4', '趙敏', '女', 18, '123456789012345673', '北京', '2009-12-01'),(5, '5', '小昭', '女', 16, '123456789012345674', '上海', '2007-07-01'),(6, '6', '楊逍', '男', 28, '123456789012345675', '北京', '2006-01-01'),(7, '7', '范瑤', '男', 40, '123456789012345676', '北京', '2005-05-01'),(8, '8', '黛綺絲', '女', 38, '123456789012345677', '天津', '2015-05-01'),(9, '9', '范涼涼', '女', 45, '123456789012345678', '北京', '2010-04-01'),(10, '10', '陳丕亮', '男', 53, '123456789012345679', '上海', '2011-01-01'),(11, '11', '張士誠', '男', 55, '12345678901234567a', '江蘇', '2015-05-01'),(12, '12', '常遇春', '男', 32, '12345678901234567b', '北京', '2004-02-01'),(13, '13', '張三豐', '男', 88, '12345678901234567c', '江蘇', '2020-11-01'),(14, '14', '滅絕', '女', 65, '12345678901234567d', '北京', '2019-05-01'),(15, '15', '胡青牛', '男', 70, '12345678901234567x', '西安', '2018-04-01'),(16, '16', '周芷若', '女', 18, null, '西安', '2012-06-01');# 查詢所有字段 SELECT * FROM employee; SELECT id,name,workno,idcard,workaddress,gender,age,entry from employee;# 查詢指定字段SELECT id, name, gender FROM employee;# 查詢所有員工的工作地址 起別名SELECT workaddress as '工作地址' FROM employee;# 查詢工作地址,不重復 SELECT distinct workaddress FROM employee;

? 02: 條件查詢

語法: SELECT 字段列表 FROM 表名 WHERE 條件列表;

? 案例: 見 下方代碼塊

-- 條件查詢# 1 查詢年齡等于18的員工 SELECT * FROM employee WHERE age = 18;# 2 查詢年齡小于20的員工 SELECT * FROM employee WHERE age<20;# 3 查詢年齡小于等于28的員工 SELECT * FROM employee WHERE age <=28;# 4 查詢沒有身份證號碼的員工 SELECT * FROM employee WHERE idcard is null ;# 5 查詢有身份證號碼的員工 SELECT * FROM employee WHERE idcard is not null;# 6 查詢年齡不等于88 的員工信息 SELECT * FROM employee WHERE age!= 88;# 7 查詢年齡在15歲到28歲的員工 SELECT * FROM employee WHERE age between 15 and 28;# 8 查詢性別為女的員工 SELECT * FROM employee WHERE gender = '女';# 9 查詢年齡等于18或者20 或者40 的員工 SELECT * FROM employee WHERE age in (18,20,40);# 10 查詢姓名為兩個字的員工信息 SELECT * FROM employee WHERE name like '__';# 11 查詢身份證號最后一位是X的員工 SELECT * FROM employee WHERE idcard like '%X';

? 03:聚合函數
? 語法: SELECT 聚合函數( 字段名) FROM 表名;

? 案例: 見下

-- 聚合函數# 1 統計該表中的員工數量 SELECT COUNT(id) FROM employee;# 2 統計該表中的員工平均年齡 SELECT name,AVG(age) FROM employee;# 3 統計員工的最大年齡 SELECT name,MAX(age) FROM employee;# 4 統計員工的最小年齡 SELECT name,MIN(age) FROM employee;# 5 統計員工的年齡之和 SELECT SUM(age) FROM employee;

? 04: 分組查詢

? 語法:SELECT 字段列表 FROM 表名 [WHERE 條件列表] GROUP BY 分組字段名[HAVING 分組后過濾條件];

? 注意: WHERE 和 HAVING 的區別

? 1: 執行的時機不同,WHERE是在分組之前執行,不滿足WHERE條件的不參與分組;而HAVING是分組之后對查詢出的結果進行過濾。

? 2: 判斷的時機不同,WHERE 不能對聚合函數進行判斷,而HAVING 能

*** 執行順序: WHERE > 聚合函數 > having

*** 分組之后,查詢的字段一般為聚合函數和分組字段,查詢其他字段沒有任何意義。

案例:

-- 分組查詢# 1 根據性別分組,統計男性員工和女性員工的數量 SELECT COUNT(gender) as '男性人數',(SELECT count(gender) FROM employee WHERE gender='女') as '女性人數' FROM employee WHERE gender='男';SELECT sum(IF(gender='男',1,0)) as '男性人數',sum(IF(gender='女',1,0)) as '女性人數' FROM employee;# 2 根據性別分組,統計男性員工和女性員工的平均年齡 SELECT gender '性別', AVG(age) '平均年齡' FROM employee GROUP BY gender;SELECT AVG(IF(gender='男',age,null)) AS '男性平均年齡', AVG(IF(gender='女',age,null)) AS '女性平均年齡' FROM employee;# 3 查詢年齡小于45的員工,并根據工作地址分組,獲取員工數量大于等于3的工作地址 SELECT workaddress,count(id) emp_sum FROM employee WHERE age<45 GROUP BY workaddress HAVING emp_sum >=3;

? 05: 排序查詢

? SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

? 排序方式:

? ASC 升序 (默認值)

? DESC 降序

? 案例:

-- 排序查詢# 1 根據年齡對員工進行升序排序 SELECT * FROM employee ORDER BY age ;# 2 根據入職時間對員工降序排序 SELECT * FROM employee ORDER BY entry DESC ;# 3 根據年齡升序排序,年齡相同按照入職年齡降序排序 SELECT * FROM employee ORDER BY age asc ,entry DESC ;

? 06: 分頁查詢

? SELECT 字段列表 FROM 表名 LIMIT 起始索引,查詢記錄數;

? 注意:

? 起始索引從0 開始,起始索引=(查詢頁碼-1)* 每頁記錄數據

? 分頁查詢是數據庫的方言,不同的數據庫有不同的實現,MySQL中的是LIMIT

? 如果查詢的是第一頁的數據,起始索引可以省略,直接簡寫為LIMIT10

? 案例:

-- 分頁查詢# 1 查詢第一頁的員工數據,每頁展示10條記錄 SELECT * FROM employee LIMIT 10;# 2 查詢第二頁的員工數據,每頁展示10條記錄 (2-1)*10 = 起始索引 SELECT * FROM employee LIMIT 10,10;

練習 :

# 1 查詢年齡為20,21,22,23的員工信息 SELECT * FROM employee WHERE age in (20,21,22,23); SELECT * FROM employee WHERE age BETWEEN 20 AND 23;# 2 查詢性別為男,并且年齡在20-40(含)以內的姓名為三個字的員工 SELECT * FROM employee WHERE gender ='男' AND age >=20 and age <=40 and name like '___'; SELECT * FROM employee WHERE gender ='男' AND age BETWEEN 20 and 40 and name like '___';# 3 統計員工表中,年齡小于60歲,男性員工和女性員工的人數 SELECT SUM(IF(gender='男',1,0)) AS '男性人數', SUM(IF(gender='女',1,0)) AS '女性人數' FROM employee WHERE age < 60# 4 查詢所有年齡小于等于35歲員工的姓名和年齡,并對查詢結果按年齡升序排序,如果年齡相同按入職時間降序排序 SELECT name,age,entry FROM employee WHERE age <=35 ORDER BY age,entry DESC;# 5 查詢性別為男,且年齡在20-40歲(含)以內的前五個員工信息,并對查詢結果按年齡升序排序,年齡相同按入職時間升序排序 SELECT * FROM (SELECT * FROM employee WHERE gender ='男' AND age >20 and age <=40 LIMIT 5) res ORDER BY res.age,res.entry;

總結:

SQL的編寫順序

SELECT 字段列表 FROM 表名列表 WHERE 條件列表 GROUP BY 分組字段列表 HAVING 分組后條件列表 ORDER BY 排序字段列表 LIMIT 分頁參數

SQL 執行順序

FROM 表名列表 WHERE 條件列表 GROUP BY 分組字段列表 HAVING 分組后條件列表 SELECT 字段列表 ORDER BY 排序字段列表 LIMIT 分頁參數

? 6、DCL: 數據庫控制語言,用來創建數據庫用戶、控制數據庫的訪問、權限

? a 、管理用戶

? 01: 查詢用戶

? Use mysql;

? SELECT * FROM user;

? 02: 創建用戶

? CREATE USER ‘用戶名‘@‘主機名‘ IDENTIFIED BY ‘密碼‘;

? 03: 修改用戶密碼

? ALTER USER ‘用戶名‘@’主機名’ IDENTIFIED WITH mysql_native_password BY ‘新密碼‘;

? 04: 刪除用戶

? DROP USER ‘用戶名‘@’主機名’ ;

? 注意: 主機名可以通過 % 來通配

案例:

-- 管理用戶 # 查詢用戶 Use mysql; SELECT * FROm user; # 創建用戶 # 1. 創建用戶 itcast 只能在當前主機localhost訪問,密碼為123456 CREATE USER 'itcast'@'localhost' IDENTIFIED BY '123456';# 2. 創建用戶 heima 可以在任意主機訪問該數據庫,密碼為123456 CREATE USER 'heima'@'%' IDENTIFIED BY '123456';# 修改用戶 # 修改用戶heima 的密碼為 1234 ALTER USER 'heima'@'%' IDENTIFIED WITH mysql_native_password by '1234';# 刪除用戶 # 刪除itcast@localhost 用戶 DROP USER 'heima'@'%'; DROP USER 'itcast'@'localhost';

? b: 權限控制

? 01:查詢權限

? SHOW GRANTS FOR ‘用戶名‘@’主機名’;

? 02:授予權限

? GRANT 權限列表 ON 數據庫名.表名 TO ‘用戶名‘@’主機名’;

? 03:撤銷權限

? REVOKE 權限列表 ON 數據庫名.表名 FROM ‘用戶名‘@’主機名’;

? 注意:

? 多個權限之間通過逗號分隔。

? 授權和回收權限時,數據庫名和表名可以通過 * 來進行通配,代表所有

? 總結:

三、函數

? 1、字符串函數

練習:

-- ---------------------函數演示---------------------------- -- concat 將兩個字符串拼接 SELECT concat('hello',' mysql');-- lower 轉換成小寫 SELECT lower('HELLO');-- upper 轉換成大寫 SELECT upper('hello');-- LPAD(a,b,c),用字符c在字符a的左邊補全到b位 select LPAD('0',3,'01');SELECT LPAD('1',4,'0');-- RPAD(a,b,c) 用字符c在字符a的右邊補全到b位 SELECT RPAD('1',5,'20');-- TRIM 去除目標字符串的首尾空格 SELECT TRIM(' HELLO, WORLD ');-- SUBSTRING(str,start,len) 將字符串從指定位置起(包含,下標以1開頭)截取指定長度,并返回 SELECT SUBSTRING('HELLO,WORLD',3,3);# 1, 將企業的工號統一改為五位 如 1號員工的工號為00001 10號員工的工號為00010 update employee set workno=LPAD(workno,5,'0');

? 2、數值函數

練習:

# 2 數值函數 -- CEIL(X) 對x進行向上取整 SELECT CEIL(21.2); # 22-- FLOOR(x) 對x進行向下取整 SELECT FLOOR(22.1); # 22-- MOD(x,y) 返回x/y的模(余數) SELECT MOD(22,3); # 1-- rand() 返回0-1的隨機數 SELECT RAND();-- round(x,y),求x的四舍五入的值,保留y位小數 SELECT ROUND(2.2132100212,8); #2.21321002# 通過數據庫的函數,生成一個六位數的隨機驗證碼 SELECT LPAD(ROUND(rand()*1000000,0),6,0);

? 3、日期函數

練習:

-- ------------------------日期函數-------------------- # curdate() 返回當前日期 SELECT CURDATE(); # curtime() 返回當前時間 SELECT CURTIME(); # now() 返回當前時間和日期 SELECT NOW(); # YEAR(date) 獲取指定date的年份 SELECT YEAR('2021-04-21'); # MONTH(date) 獲取指定date的月份 SELECT MONTH('2022-11-20'); # DAY(date) 獲取指定date的日期 SELECT DAY('2021-11-22'); # DATE_ADD(date,INTERVAL expr type) 返回日期/時間值加上一個時間間隔expr后的時間值 SELECT DATE_ADD('2022-11-21',INTERVAL 210 year ); # DATEDIFF(DATE1,DATE2) 返回起始時間DATE1 和結束時間DATE2之間的天數,一般較大的日期放在第一個參數,較小的日期放在第二個參數上 SELECT DATEDIFF('2022-11-22','2022-04-21');# 查詢所有員工的入職天數,并根據入職天數倒序排序 SELECT * FROM (SELECT DATEDIFF(CURDATE(),entry) as day_from_now FROM employee) res ORDER BY res.day_from_now desc;SELECT DATEDIFF(CURDATE(),entry) AS '入職天數' FROM employee ORDER BY entry asc ;

? 4、流程函數

練習:

-- ------------------------流程函數-------------------- # IF(condition,t,f) 如果滿足condition 條件,那么值為t ,否則為f SELECT IF(true,'ok','error');SELECT IF(false,'ok','ERROR');# IFNULL(VALUE1,VALUE2) 如果VALUE1不為空,返回VALUE1 ,否則返回VALUE2 SELECT IFNULL('ok','default');SELECT IFNULL('','default');SELECT IFNULL(null,'default');# CASE WHEN [val1] THEN[res1] ... ELSE[DEFAULT] END 如果val1為true,返回res1,否則返回default默認值 SELECT CASE WHEN 1=2 THEN 'ok' else 'default' end; # 查詢員工表中的姓名和工作地址(北京/上海----> 一線城市, 其他的二線城市) SELECT name , (CASE WHEN workaddress in('北京','上海') THEN '一線城市' ELSE '二線城市' END) AS '工作地址' FROM employee ;SELECT name, (case workaddress when '上海' then '一線城市' when '北京' then '一線城市' else '二線城市' end) as '工作地址' FROM employee;# case[expr] WHEN [val1] THEN [res1]... ELSE[DEFAULT] END 如果expr的值等于val1, 返回res1,... 否則返回default 默認值 SELECT case 1 WHEN 2 THEN 'ok' ELSE 'default' END;

總結:

四、約束

? 01:表內約束

概念:約束是作用于表中字段上的規則,用戶限制存儲在表中的數據

目的: 保證數據庫中數據的正確性、有效性和完整性。

分類:

約束描述關鍵字
非空約束限制該字段的數據不能為nullNOT NULL
唯一約束保證該字段的所有數據都是唯一、不重復的UNIQUE
主鍵約束主鍵是一行數據的唯一標識,要求非空且唯一PRIMARY KEY
默認約束保存數據時,如果未指定該字段的值,則采用默認值DEFAULT
檢查約束(8.0.16 版本之后)保證字段值滿足某一個條件CHECK
外鍵約束用來讓兩張表的數據之間建立連接,保證數據的一致性和完整性FOREIGN KEY

注意: 約束是作用域表字段上的,可以通過創建表和修改表的時候添加約束。

約束演示:

外鍵約束:

? 概念:外鍵用來讓兩張表的數據之間建立連接,從而保證數據的一致性和完整性

創建員工和部門表

DROP DATABASE IF EXISTS itheima; CREATE DATABASE itheima; use itheima; DROP TABLE IF EXISTS dept; CREATE TABLE dept(id int auto_increment primary key comment '主鍵,id唯一標識符',deptName varchar(50) not null comment '部門名稱' ) comment '部門表'; INSERT INTO dept (id, deptName) VALUES (1,'研發部'), (2,'市場部'), (3,'財務部'), (4,'銷售部'), (5,'總經辦');DROP TABLE IF EXISTS emp; CREATE TABLE emp(id int auto_increment primary key comment'編號,唯一標識符',name varchar(50) not null comment '姓名',age int comment '年齡',job varchar(50) comment '職位',salary int comment '薪資',entrydate date comment '入職時間',managerid int comment '直系領導ID',dept_id int comment '部門ID' ) COMMENT '員工表'; # alter table emp add age int comment '年齡';INSERT INTO emp(id, name,age,job, salary, entrydate, managerid, dept_id) VALUES(1,'金庸',66,'總裁',20000,'2000-01-01',null,5),(2,'張無忌',20,'項目經理',15200,'2005-01-01',1,1),(3,'楊瀟',33,'開發',8400,'2011-01-01',2,1),(4,'韋一笑',48,'開發',11000,'2006-01-01',2,1),(5,'常遇春',43,'開發',10500,'2002-01-01',2,1),(6,'小昭',19,'開發實習生',3200,'2018-01-01',2,1);

部門表和員工表在在數據庫層面沒有創建外鍵管理,不能保證數據的一致性和完整性。

添加外鍵的語法:

CREATE TABLE 表名(字段名 數據類型.....[CONSTRAINT] [外鍵名稱] FOREIGN KEY (外鍵字段名稱) REFERENCES 主表(主表列名) );ALTER TABLE 表名 ADD CONSTRAINT 外鍵名稱 FOREIGN KEY (外鍵字段名稱) REFERENCES 主表(主表列名);

案例:

-- 添加外鍵 ALTER TABLE emp ADD CONSTRAINT fk_emp_deptId_dept_id FOREIGN KEY (dept_id) REFERENCES dept(id); -- 刪除外鍵 ALTER TABLE emp drop foreign key fk_emp_deptId_dept_id;

外鍵約束:
刪除/更新行為:

語法:

ALTER TABLE 表名 ADD CONSTRAINT 外鍵名稱 FOREIGN KEY (外鍵字段) REFERENCES 主表名(主表字段) ON UPDATE CASCADE ON DELETE CASCADE;

案例:

-- 添加外鍵 ALTER TABLE emp ADD CONSTRAINT fk_emp_deptId_dept_id FOREIGN KEY (dept_id) REFERENCES dept(id); -- 刪除外鍵 ALTER TABLE emp drop foreign key fk_emp_deptId_dept_id;ALTER TABLE emp add constraint fk_emp_deptId_dept_id foreign key(dept_id) references dept(id) ON DELETE cascade on UPDATE cascade;

總結:

五、多表查詢

? 01:多表關系

? 在實際項目開發過程中,會根據業務需求及業務模塊之間的關系,分析并設計表結構,基于業務之間相互關聯,所以各個表之間也存在相互關聯關系,具體分為三種,如:

? 一對一:

? 案例: 用戶與用戶詳情的關系

? 關系: 一對一關系,多用于單表拆分,將一張表的基礎子彈放在一張表中其他詳情字段放在另一張表中,用以提升效率。

?
? 一對多(多對一):

? 案例: 一個部門對應多個員工,一個員工對應一個部門。

? 實現方式:在多的一方創建外鍵,指向一的一方。

示例:


? 多對多:

? 案例: 學生和課表的關系 ,一個學生可以對應多門課,一個課程對應有多個學生學習

? 實現方式:建立第三張表作為中間表,中間表至少包含兩個外鍵,分別外鍵關聯學生表和課程表

示例:

-- ------------------------多表查詢 多對多關系示例----------------------# 創建學生表 DROP TABLE IF EXISTS student; CREATE TABLE student(id int auto_increment primary key comment 'id 主鍵 唯一標識符',name varchar(50) comment '姓名',no varchar(10) comment '學號' ) COMMENT '學生表'; # 插入數據 insert into student values (null,'黛綺絲','2000100101'),(null,'謝遜','2000100102'),(null,'殷天正','2000100103'),(null,'韋一笑','2000100104'); # 創建課程表 DROP TABLE IF EXISTS course; CREATE table course(id int auto_increment primary key comment 'id 主鍵 唯一標識符',name varchar(10) comment '課程名稱' )comment '課程表'; # 插入數據 insert into course values (null,'java'),(null,'php'),(null,'MySQL'),(null,'hadoop');# 創建中間表 DROP TABLE IF EXISTS student_course; CREATE TABLE student_course(id int auto_increment primary key comment 'id 主鍵 唯一標識符',studentid int not null comment '學生id',courseid int not null comment '課程id',constraint fk_courseid foreign key(courseid) references course(id),constraint fk_studentid foreign key (studentid) references student(id) )comment '學生課程中間表'; insert into student_course values (null,1,1),(null,1,2),(null,1,3),(null,2,2),(null,2,3),(null,3,4);

圖示:


? 02:多表查詢概述: 指從多張表中查詢數據

? 多表查詢的笛卡爾積現象: 笛卡爾積是指在數據學中,兩個集合的所有組合情況,(在多表查詢時,我們需要消除無效的笛卡爾積)。

? 03:內連接 —> 相當于查詢A集合和B集合的部分數據

? 隱式內聯:

? 語法:SELECT 字段列表 FROM 表1,表2 WHERE 條件…;

? 顯式內聯:

? 語法:SELECT 字段列表 FROM 表1 [ INNER ] JOIN 表2 ON 連接條件…;

實例:

-- --------內聯演示----------- # 查詢每一個員工的姓名,及關聯部門的名稱(使用隱式內聯實現) SELECT e.name , d.deptName from emp e,dept d where e.dept_id = d.id;# 查詢每一個員工的姓名,及關聯部門的名稱(使用顯示內聯實現) SELECT e.name , d.deptName from emp e inner join dept d on e.dept_id = d.id;

? 04:外連接

? 左外連接: 查詢坐標所有數據,以及兩張表交集部分數據

? 右外連接: 查詢右表所有數據,以及兩張表交集部分數據

演示:

# 查詢emp表的所有數據,和對應的部門信息(左外連接) SELECT * FROM emp e left join dept d on d.id = e.dept_id;# 查詢dept表的所有數據,和對應的員工信息(右外連接)SELECT * FROM emp e right join dept d on d.id = e.dept_id;

? 05:

? a:自查詢 —> 當前表與自身的連接查詢,自連接必須使用別名

? 自連接語法:

? SELECT 字段列表 FROM 表A,別名A JOIN 表A 別名B ON 條件…

? 自連接查詢可以是外連接查詢,也可以是內連接查詢。

? 示例:

# 查詢員工及其領導的名字 SELECT a.name as '員工姓名',b.name as '領導姓名' FROM emp a join emp b on a.managerid = b.id; # 查詢所有員工及其領導的名字 ,如果員工沒有領導也要查詢出來 SELECT a.name as '員工姓名',b.name as '領導姓名' FROM emp a left join emp b on a.managerid= b.id;

? b:聯合查詢 --> union ,union all

? 對于union查詢,就是把多次查詢的結果合并起來,形成一個新的查詢結果集

? 語法: SELECT 字段列表 FROM 表A …

? UNION [ ALL ]

? SELECT 字段列表 FROM 表B…;

? 注意:對于聯合查詢的多張表的列 數據必須保持一致,字段類型也需要保持一致。

實例:

-- 連接查詢 使用union 和union all # 將薪資低于10000和年齡大于50的所有員工查詢出來 SELECT * FROM emp where salary< 10000 union all SELECT * FROM emp WHERE age >50;

? 07:子查詢

? 概念: SQL語句中嵌套SELECT 語句,稱為嵌套查詢,又稱為子查詢

? 語法: SELECT * FROM tmp WHERE column in (SELECT column from tmp2);

? 子查詢的外層可以是任意的 INSERT / UPDATE / DELETE / SELECT 語句中的一個。

? 根據子查詢的查詢結果分為:

? 標量子查詢: 子查詢結果為單個值(數字、字符串、日期等),這種是最簡單的形式。

? 常見的操作符為:= <> > < <= >=

? 列子查詢: 子查詢的結果為一列(可以是多行)

? 常見的操作符: IN 、NOT IN 、ANY 、SOME、 ALL

? IN :在指定的集合范圍之內,多選一

? NOT IN :不在指定的集合范圍內

? ANY :子查詢返回列表中,有任意一個滿足即可

? SOME : 與ANY等同,使用SOME的地方都可以使用ANY

? ALL :子查詢返回列表的所有值都必須滿足

示例:

-- --------列子查詢--------# 1. 查詢'銷售部'和'市場部'的所有員工信息 SELECT * FROM emp WHERE dept_id in (select id from dept WHERE deptName in ('市場部','銷售部'));# 2. 查詢比財務部所有人工資都高的員工信息 SELECT * FROM emp WHERE salary > (select max(salary) From emp group by dept_id having dept_id = (select id from dept where deptName= '財務部'));SELECT * FROM emp WHERE salary > all (select salary from emp where dept_id = (select id from dept where deptName='財務部'));# 3. 查詢比研發部其中任意一人工資高的員工信息SELECT * FROM emp WHERE salary > any (select salary FROM emp WHERE dept_id = (SELECT id from dept where deptName='研發部'));

? 行子查詢: 子查詢的結果為一行(也可以是多行),這種子查詢稱為行子查詢

? 常用操作符: = 、<> 、IN 、NOT IN

? 注意:條件中的多個字段順序應當和子查詢的字段順序一致,否則會沒有數據

# 查詢和張無忌工資相同、直屬領導相同的的員工信息 SELECT * FROM emp where (managerid,salary) = (SELECT salary,managerid from emp where name ='張無忌');

?

? 表子查詢: 子查詢結果為多行多列

? 常用操作符:IN

? 示例:

# 查詢 楊瀟 張無忌 工資相同、直系領導相同的員工信息SELECT * FROM emp where (salary,managerid) in (select salary,managerid from emp where name in ('張無忌','楊瀟'));# 查詢入職日期是'2006-01-01'之后的日期,及其部門信息。SELECT * FROM (select * from emp where entrydate >'2006-01-01') e left join dept d on e.dept_id = d.id;

? 08:多表查詢案例

六、事務

? 1: 事務簡介:是一組操作的集合,他是一個不可分割的工作單位,事務會把所有的操作作為一個整體一起向系統提交或者撤銷操作請求,即這些操作要么同時成功,要么同時失敗。

? 具體例子 參見 轉賬業務。

MySQL 默認是事務自動提交,也就是說,當執行一條DML SQL語句,MySQL 會隱式的提交事務

? 2: 事務操作

– 方式一:設置手動事務

? 01:查看 / 設置 事務的提交方式

? SELECT @@autocommit;

? # 設置手動提交

? SET @@autocommit=0;

? 02:提交事務

? COMMIT;

? 03:回滾事務

? ROLLBACK;

– 方式二:開啟事務模式

? 01:開啟事務

? START TRANSACTION 或 BEGIN;

? 02:提交事務

? COMMIT;

? 03:回滾事務

? ROLLBACK;

? 3:事務四大特性

? a、原子行(ATOMICITY): 事務是不可分割的最小操作單元,那么全部成功,要么全部失敗

? b、一致性(CONSISITENCY):事務完成時,必須是所有的數據都保持一致狀態。

? c、隔離性(ISOLATION): 數據庫系統提供的隔離機制,保證事務在不收外部并發操作影響 的獨立環境下運行

? d、持久性(DURABILITY):事務一旦提交或者回滾,他對數據庫的修改是永久的。

? 4:并發事務問題

問題描述
臟讀一個事務讀到另外一個事務還沒有提交的數據
不可重復讀一個事務先后讀取同一條記錄,但兩次讀取的數據不同,稱之為不可重復讀。
幻讀一個事務按照條件查詢數據時,沒有對應的數據行,但是在插入數據時,又發現數據已經存在,好像出現了“幻影”

? 5:事務的隔離級別

隔離級別臟讀不可重復讀幻讀
READ UNCOMMITTED
READ COMMITTED×
REPEATABLE READ(默認)××
SERIALIZABLE×××

查看事務隔離級別

? SELECT @@TRANSACTION_ISOLATION;

設置事務隔離級別

? SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE } ;

事務的隔離級別也高,數據越安全,但是性能越低。

事務總結:

希望對您有幫助。求點贊+關注。

總結

以上是生活随笔為你收集整理的mysql基础入门(参照b站黑马程序员整理)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产成人一区二区三区 | 中文字幕国语官网在线视频 | 国产精品久久久久三级 | 欧美黄色成人 | 一区二区三区视频网站 | 久久在草 | 国产999精品久久久 免费a网站 | 91亚洲精品久久久蜜桃借种 | 亚洲美女免费精品视频在线观看 | 亚洲成人动漫在线观看 | 久久精品资源 | 天天爱天天操 | 午夜婷婷综合 | 97国产在线观看 | 青青河边草免费观看完整版高清 | 欧美性超爽 | 久色免费视频 | 免费日韩 精品中文字幕视频在线 | 色综合天天视频在线观看 | 亚洲国产中文字幕 | 香蕉影院在线播放 | 在线 日韩 av | 国产精品中文字幕在线 | 日韩激情一二三区 | 久久人人爽视频 | 国产麻豆精品传媒av国产下载 | 亚洲激情久久 | 韩国av一区二区 | 欧美日韩aaaa | 色婷婷av一区二 | 亚洲视频 在线观看 | 欧美性生爱 | 91成人在线视频观看 | 99热这里精品 | 综合国产在线 | 国产精品入口66mio女同 | 天天拍天天色 | 久久免费视频在线观看 | 亚州日韩中文字幕 | 日韩视频一 | 精品国自产在线观看 | 亚洲 综合 精品 | 国产精品高清免费在线观看 | 综合色婷婷 | 色狠狠狠 | 黄色毛片一级 | 丁香视频全集免费观看 | 国产不卡在线观看 | 国产91精品看黄网站在线观看动漫 | 国产高清在线视频 | 在线观看免费成人 | 1000部国产精品成人观看 | 亚洲成人精品久久久 | 97在线免费视频 | 日韩毛片久久久 | 免费日韩av片 | 手机av看片| 久久丁香网| 亚洲欧美激情精品一区二区 | 狠狠色丁香婷婷综合欧美 | 国产精品久久久久久久久久白浆 | 久久在线影院 | 国产精品电影一区 | a级国产乱理论片在线观看 伊人宗合网 | av在线一二三区 | 国产香蕉在线 | 久久夜色精品国产欧美一区麻豆 | 天天综合在线观看 | 97视频人人免费看 | 欧美日韩在线网站 | 99久久国产免费,99久久国产免费大片 | 91精品一区在线观看 | 婷婷丁香国产 | 在线视频专区 | 欧美va天堂va视频va在线 | 狠狠色丁香婷婷综合橹88 | 亚洲综合色视频 | 91黄色免费看 | 黄色天堂在线观看 | 亚洲午夜av电影 | 日韩在线观看中文字幕 | 色.com| 5月丁香婷婷综合 | 精品在线观看免费 | 在线免费观看视频一区二区三区 | 狠狠插狠狠干 | 一区二区三区精品在线 | av高清在线 | 久久人人艹 | 精品久久久久久久久久岛国gif | 91在线观看欧美日韩 | 中文字幕综合在线 | 日韩精品影视 | 天天爱天天操 | 91入口在线观看 | h文在线观看免费 | 国产精品久久久免费看 | 四虎精品成人免费网站 | 久久男人中文字幕资源站 | 丁香高清视频在线看看 | 色五婷婷| 女人高潮特级毛片 | 成人av一区二区兰花在线播放 | 免费日韩视频 | 最近能播放的中文字幕 | 亚洲黄色成人网 | 国产精品 欧美 日韩 | 婷婷久久丁香 | av电影免费观看 | 视频直播国产精品 | 免费色婷婷 | 国产69精品久久久久久 | 欧美精品一区二区免费 | 一本一道久久a久久精品蜜桃 | 国产99久久久国产精品成人免费 | 亚洲国产成人在线观看 | 四虎影视成人永久免费观看视频 | 日韩视频免费观看高清完整版在线 | 日本三级全黄少妇三2023 | 日本在线成人 | 日日碰狠狠躁久久躁综合网 | 天天爽人人爽 | 亚洲区视频在线观看 | 色婷婷亚洲婷婷 | 人人爽人人爽 | 精品国产一区二区三区久久久久久 | 五月婷婷在线观看 | 成人毛片久久 | 久久久久久蜜桃一区二区 | 97电影院在线观看 | 夜夜操夜夜干 | 日韩视频一区二区三区在线播放免费观看 | 久久99深爱久久99精品 | 国产主播大尺度精品福利免费 | 日本精油按摩3 | 毛片网站免费在线观看 | 黄色免费观看网址 | 亚洲少妇久久 | 成人aⅴ视频 | 一二三区av | 天天爽夜夜爽人人爽一区二区 | 国产97碰免费视频 | 成人动漫精品一区二区 | 欧美精品一二三 | 色噜噜日韩精品欧美一区二区 | 精品日韩中文字幕 | 久久97视频| 日韩久久网站 | 激情久久五月 | 久久久午夜精品理论片中文字幕 | 国产永久网站 | 91精品国产福利在线观看 | 日韩在线播放视频 | 日本精品视频在线观看 | 亚洲欧美国内爽妇网 | 99久久www | 欧美一区在线看 | 精品亚洲一区二区 | 日韩中文在线观看 | 色.www| 国产精品久久久久久久久久妇女 | 九九热在线免费观看 | 亚洲最大在线视频 | 亚洲最大av网 | 免费a网站 | 视频在线观看亚洲 | 亚洲精品a区 | 91成人精品一区在线播放69 | 国产精品二区三区 | 亚洲国产字幕 | 国产精品嫩草影院9 | 狠狠躁夜夜躁人人爽视频 | 中文字幕在线播放视频 | 亚在线播放中文视频 | 国产 日韩 在线 亚洲 字幕 中文 | av免费网站在线观看 | 亚洲成人av一区二区 | 91精品麻豆 | 日韩欧美视频 | 国产免费高清 | 国产精品黄| 看av在线 | 久久免费视频一区 | 99热精品在线 | 欧美在线资源 | 久久69精品 | 日韩一区二区免费视频 | 手机看片99 | 97免费| 午夜久久精品 | 国产一区二区电影在线观看 | 久久视频在线 | 国产传媒中文字幕 | 欧美va天堂va视频va在线 | 日日干夜夜草 | 国内精品久久久久久久久久 | 性色av一区二区三区在线观看 | 亚洲第一久久久 | 粉嫩av一区二区三区四区五区 | 天天插日日操 | 最新av在线免费观看 | 五月婷婷视频在线 | 欧美伦理一区二区 | 毛片1000部免费看 | 久久久久久久久久国产精品 | 久久99在线视频 | 日韩成人在线免费观看 | 精品视频在线视频 | 91精品久久久久久久久久久久久 | 久久综合久久八八 | 国产99久久九九精品 | 天天操天天爽天天干 | 狠狠狠色丁香婷婷综合久久88 | 免费久久99精品国产 | 操操操日日 | 又色又爽又黄 | 蜜臀久久99精品久久久酒店新书 | 欧美日本高清视频 | 免费观看日韩av | 一本一道波多野毛片中文在线 | 波多野结衣电影一区二区 | 男女全黄一级一级高潮免费看 | 日日夜夜精品免费观看 | 国产精品剧情在线亚洲 | 日韩中文字幕免费看 | 在线观看av小说 | 视频二区在线 | 中文字幕av电影下载 | 久久久久黄 | 欧美日韩高清 | 午夜精品电影 | 国产99自拍| 4438全国亚洲精品在线观看视频 | 97天堂| 色播五月激情综合网 | 9999免费视频 | 91视频首页| 欧美午夜理伦三级在线观看 | 缴情综合网五月天 | 国产高清视频在线免费观看 | 亚洲专区免费观看 | 亚洲欧洲国产精品 | 国产精品免费在线播放 | 亚洲精品中文字幕在线观看 | 国产高清视频免费观看 | 婷婷电影在线观看 | 91高清免费看 | 91视频 - 88av| 日韩高清一区在线 | 国产一区二区电影在线观看 | 日韩av高潮 | 欧美一级免费高清 | 亚洲精品免费在线观看视频 | 国产又粗又硬又长又爽的视频 | 人人爽网站 | 免费看高清毛片 | 国产中文a | 激情欧美在线观看 | 亚洲精品乱码 | 91超碰在线播放 | www夜夜操com | 免费成人结看片 | 久久午夜网 | 亚洲国产精品视频 | 狠狠伊人 | 99在线精品免费视频九九视 | 日日精品 | 国产日韩精品在线观看 | 香蕉蜜桃视频 | 国产高清在线观看av | 一区二区三区影院 | 国产午夜精品一区二区三区四区 | 日韩三级精品 | 1000部18岁以下禁看视频 | 天天操天天曰 | 国产精品一区免费在线观看 | 福利视频一区二区 | 欧美日韩中文字幕综合视频 | 欧美精品亚洲精品 | 美女国产在线 | 国产99久久久国产精品 | 国产在线一线 | 久久久精品综合 | japanese黑人亚洲人4k | 91九色免费视频 | 久久精品久久久精品美女 | 激情 一区二区 | 黄色成人av网址 | 最新av在线免费观看 | 国产精品久久麻豆 | 丁香婷婷激情国产高清秒播 | 96精品视频 | 国产国语在线 | 婷婷伊人五月 | 日韩免费福利 | 午夜精品久久久99热福利 | 波多野结衣精品视频 | a视频免费 | 国产一区欧美在线 | 国产精品亚洲片在线播放 | 中文字幕精品www乱入免费视频 | 欧美国产日韩一区二区三区 | 久久99精品一区二区三区三区 | 国产香蕉97碰碰久久人人 | 夜夜夜精品| 伊人久久av | 18国产精品福利片久久婷 | av天天澡天天爽天天av | 日韩在线观看电影 | 99久久精品免费看国产一区二区三区 | 国产在线观看一区 | 免费大片黄在线 | 国产黄在线免费观看 | 欧美激情精品一区 | 国产又粗又硬又长又爽的视频 | 国产成人一区二 | 婷婷六月综合亚洲 | 欧美日韩国内在线 | 91在线免费观看网站 | 久久99精品国产99久久6尤 | 高清中文字幕 | 午夜一级免费电影 | 91在线精品一区二区 | 99久久99视频| 亚洲精品在线观看中文字幕 | 免费特级黄毛片 | 狠狠狠色丁香婷婷综合久久88 | av电影中文字幕 | 亚洲春色综合另类校园电影 | 亚洲一级特黄 | 国产91国语对白在线 | 久爱综合| 麻豆视频成人 | 久久久久久中文字幕 | 一级片免费在线 | 久久久999精品视频 国产美女免费观看 | 国产粉嫩在线观看 | 久久免费电影 | 99久久婷婷国产精品综合 | 狠狠色噜噜狠狠狠狠2021天天 | 福利视频在线看 | 婷婷六月在线 | 日韩在线视 | 成人免费视频网站 | 日韩有码网站 | 欧美日韩精品在线一区二区 | 国产婷婷一区二区 | 插插插色综合 | 欧洲色综合 | 夜色资源站wwwcom | 国产69精品久久久久9999apgf | 国产精品美女久久久久久久久 | 日日爽天天操 | 最新黄色av网址 | 在线观看免费一级片 | 国产亚洲视频在线观看 | 国产 欧美 日本 | 日韩精品一区二区三区水蜜桃 | 精品国产美女在线 | 黄色录像av | 日本中文字幕一二区观 | 一级黄色片毛片 | 免费国产在线观看 | 色射色| 精品中文字幕在线播放 | 99色人| 4438全国亚洲精品观看视频 | 99热精品国产一区二区在线观看 | 精品亚洲视频在线观看 | 亚洲免费成人 | 色婷婷色| 国产精品一区二区你懂的 | 日韩三区在线 | 91免费版成人| 91精品一区二区三区久久久久久 | 99性视频| 国产精品美女久久久久久久久 | 欧美-第1页-屁屁影院 | 在线观看成人 | 激情综合六月 | 免费在线观看av网址 | 久久精品99视频 | 草久在线 | 6080yy精品一区二区三区 | 亚洲影院一区 | 黄色片免费电影 | 久久久国产精品网站 | 中文字幕一区二区三区久久 | 欧美乱码精品一区二区 | 久久成人久久 | 91成人小视频| 三级黄免费看 | 久久综合影院 | 日韩理论片在线 | 一区二区视频在线播放 | 91pony九色丨交换 | 亚洲精品国产精品久久99热 | 国色天香av | 国产精品久久一区二区三区不卡 | 日日干干夜夜 | 成人av在线网 | 成年人免费观看在线视频 | 日韩在线观看一区二区 | 亚洲国产精品久久久久 | 97碰碰精品嫩模在线播放 | 欧美极品xxxx | 最新国产中文字幕 | 中文字幕一区二区三区四区在线视频 | 日韩欧美一区二区三区视频 | 青青草视频精品 | 日韩欧美视频免费在线观看 | 色永久免费视频 | 精品国产一区二区三区av性色 | 婷婷色网站| 精品 激情 | 国内少妇自拍视频一区 | 精品国产精品国产偷麻豆 | 久久免费精品 | 99av国产精品欲麻豆 | 国产精品久久久久一区二区国产 | 四虎永久视频 | 麻豆一区二区三区视频 | 欧美一区二区精美视频 | 国产精品久久久久婷婷 | 麻豆免费看片 | 黄色网中文字幕 | 国产在线p | 欧美一二三在线 | 国产va在线 | 国产成人久久77777精品 | 亚洲黄在线观看 | 在线免费观看麻豆 | 91探花系列在线播放 | 成人宗合网 | 99久久精品国产一区二区三区 | 99久久久国产免费 | 色多多视频在线 | 亚洲国产精品va在线看黑人 | 成人国产精品电影 | 草久久精品 | 国产午夜精品在线 | 久久呀 | 国产91在线播放 | 久久精品人人做人人综合老师 | 国产精品久久久久永久免费看 | 久久 地址 | 国产黄色观看 | 四虎在线免费观看 | 97国产视频| 九九免费观看全部免费视频 | 在线观看播放av | 日b黄色片 | 亚洲va在线va天堂va偷拍 | 91色吧| 久久国产精品一二三区 | 亚洲精品国精品久久99热 | 久草在线视频在线观看 | 久久久久亚洲天堂 | 成人蜜桃视频 | 免费在线播放av电影 | 免费看黄色91 | 欧美一级网站 | 国产在线高清 | 日本激情动作片免费看 | 精品国产一区二区三区噜噜噜 | 精品日本视频 | av资源免费看 | 日韩欧美电影在线观看 | 麻豆精品传媒视频 | 亚洲mv大片欧洲mv大片免费 | 天天曰天天曰 | 成人av电影在线 | 国产精品丝袜久久久久久久不卡 | 国产伦精品一区二区三区四区视频 | 91亚洲永久精品 | 四虎在线影视 | www178ccom视频在线| 日韩av进入 | 91成人精品一区在线播放69 | 久久伊人八月婷婷综合激情 | 久久午夜精品视频 | 西西444www大胆高清图片 | 菠萝菠萝在线精品视频 | 精品一区在线 | 黄色成人影院 | 日韩在线网址 | 欧美不卡视频在线 | 国产日韩精品一区二区三区 | 日韩一区二区三区观看 | 国产精品毛片久久 | 蜜桃av人人夜夜澡人人爽 | 天天色天天射天天操 | 在线观看视频国产一区 | 玖玖视频网 | 久久免费在线观看视频 | 久久久久久久国产精品 | 精品国产乱码久久久久久1区2匹 | 91免费在线看片 | 国产精品久久精品 | 午夜影院一级 | 伊色综合久久之综合久久 | 国产福利一区二区三区在线观看 | 国产韩国日本高清视频 | 日韩一区二区三区免费视频 | 91在线porny国产在线看 | 久久精品成人欧美大片古装 | 亚洲午夜久久久久久久久电影网 | 在线电影播放 | 日韩视频三区 | 五月开心激情 | 日本三级吹潮在线 | 人人插人人做 | 波多野结衣视频一区 | 天天色天天色天天色 | www.在线观看av | 精品一区二三区 | 久久av观看 | 在线一区观看 | 五月婷婷天堂 | 国产高清视频免费最新在线 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 午夜私人影院 | 欧美久久久久久久久久久久 | 福利视频入口 | 久久久国产精华液 | 欧美福利片在线观看 | 青青河边草免费观看完整版高清 | 人人射| 色婷婷成人网 | 三三级黄色片之日韩 | 久久国产香蕉视频 | 99热最新地址| 岛国av在线不卡 | 亚洲精品视频久久 | 亚洲电影成人 | 久久久久久高潮国产精品视 | 欧美性生交大片免网 | 六月天色婷婷 | 精品不卡视频 | 久久精品一区二区三区中文字幕 | 欧美片一区二区三区 | 亚洲精品视频一二三 | 亚洲精品视频在线 | 成人在线免费小视频 | 高清av在线免费观看 | 国产一级视频在线观看 | 精品视频在线播放 | 久草在线最新免费 | 99久久国产免费看 | 99久高清在线观看视频99精品热在线观看视频 | 精品久久久久久国产91 | 欧美在线观看视频一区二区三区 | 亚洲国产丝袜在线观看 | 国产一区二区三区黄 | 日韩成人中文字幕 | 国产精品系列在线播放 | 日韩电影在线观看一区 | 久久综合加勒比 | 国产黑丝一区二区 | 天天爽夜夜爽人人爽曰av | 少妇精品久久久一区二区免费 | 中文字幕久久久精品 | 欧美性久久久久久 | 激情欧美在线观看 | 免费在线观看黄色网 | 久黄色| 国产精品2020 | www.黄色片网站 | 日韩视频一区二区三区在线播放免费观看 | 国产精品福利久久久 | 视频在线99re | 色婷婷狠狠 | 国产精品18久久久久久久网站 | 中文字幕在线观看三区 | 欧洲激情在线 | 国产精品18久久久久久久久久久久 | 日韩在线视频一区二区三区 | 午夜免费在线观看 | 91九色最新| 视频 天天草 | 欧美日韩精品在线视频 | 免费高清在线一区 | 精品主播网红福利资源观看 | www.久久成人 | 精品视频专区 | 久久五月网 | 中文字幕在线不卡国产视频 | 亚洲另类视频在线 | 国产精品丝袜在线 | 91视频大全 | 国产精品大尺度 | 九九九热视频 | 四虎影视成人永久免费观看亚洲欧美 | 国内综合精品午夜久久资源 | 九九热精品国产 | 久久精品一区二区国产 | 欧美a级片免费看 | 99久久99久久精品国产片果冰 | 五月激情姐姐 | 99久热在线精品视频成人一区 | 天天射天天干 | 91成人在线观看高潮 | 日韩在线观看电影 | 欧美性高跟鞋xxxxhd | av线上免费观看 | 激情综合网在线观看 | 涩涩网站免费 | 一区二区不卡视频在线观看 | 成人av片免费观看app下载 | 久久久免费观看视频 | 亚洲国产av精品毛片鲁大师 | 亚洲视频专区在线 | 久久婷婷一区二区三区 | 久久国产精品久久精品 | 欧美 日韩 国产 成人 在线 | 亚洲精品一区中文字幕乱码 | 深夜激情影院 | 麻豆一二| 色吊丝av中文字幕 | 狠狠网亚洲精品 | 天天操月月操 | 日韩免费电影 | 国产成人精品亚洲日本在线观看 | 成人免费视频网站在线观看 | 色的网站在线观看 | 狠狠色丁香久久婷婷综合丁香 | 久久国产精品区 | 丰满少妇在线观看 | 色偷偷网站视频 | 午夜视频免费播放 | 中文字幕的| 欧美最猛性xxx | 国产男女无遮挡猛进猛出在线观看 | 日本黄色黄网站 | 五月婷婷精品 | 亚洲区另类春色综合小说 | 一级免费黄色 | 日韩精品久久久免费观看夜色 | 久久国际影院 | 91精品国产92久久久久 | 夜夜夜夜操 | 狠狠搞,com | 激情综合色综合久久综合 | 99久久99久久免费精品蜜臀 | 婷婷www | 99精品国产成人一区二区 | 亚洲午夜精品久久久久久久久 | 色婷婷综合久久久中文字幕 | 免费视频a| 国产成人无码AⅤ片在线观 日韩av不卡在线 | 99精品视频一区二区 | 91精品日韩 | 成年人黄色免费看 | 99精品国产在热久久 | 色网站视频 | 99热精品免费观看 | 亚洲国产精品传媒在线观看 | 成人在线免费av | 免费一级片久久 | 日韩欧美视频 | 国产第一二区 | 欧美亚洲专区 | 免费看一级黄色大全 | 久久精品99国产精品酒店日本 | 国产精品永久免费 | 免费观看91| 一区二区视 | 五月精品 | 久久久精品 | 91精品免费 | 久久成人国产 | 九九免费在线观看视频 | 一本大道久久精品懂色aⅴ 五月婷社区 | 超碰97中文| 亚洲一区二区三区精品在线观看 | 国产一区二区三区免费在线观看 | 国产精品久久久久久久久久久久午夜片 | 亚洲精品视频一二三 | 中文字幕乱码在线播放 | 四虎国产精品免费 | 欧美精品中文字幕亚洲专区 | 99热在线观看免费 | 麻豆视频免费入口 | 久久精品1区 | 亚洲欧洲国产视频 | 在线之家免费在线观看电影 | 五月天婷婷在线播放 | 免费成人在线电影 | 日韩电影中文字幕在线 | 亚洲国产精品va在线 | 久久久精品视频网站 | 久久综合色8888 | 1000部18岁以下禁看视频 | 日韩精品一区二区电影 | 99热手机在线观看 | 色噜噜狠狠狠狠色综合久不 | 精品无人国产偷自产在线 | 国产视频一区二区在线播放 | av 一区二区三区 | 91看片在线免费观看 | 蜜臀精品久久久久久蜜臀 | 成人久久18免费网站图片 | 中文字幕在线影院 | 91禁在线观看 | 人人插人人舔 | 99国内精品久久久久久久 | 91精品1区2区 | 欧美日韩不卡在线视频 | 欧美精品在线免费 | 五月天高清欧美mv | 毛片一区二区 | 欧美精品三级在线观看 | 国产99re| 日韩三级视频 | 国产夫妻自拍av | 久久亚洲人 | 日韩中文免费视频 | 欧美日韩性生活 | 日韩成人av在线 | 精品免费观看 | 97在线成人 | 精品资源在线 | 欧美午夜精品久久久久久浪潮 | 久久人人爽人人爽人人片 | 一级成人网 | 五月婷网站 | 在线视频亚洲 | 精品视频免费在线 | 国产久草在线观看 | 午夜在线免费观看视频 | 在线 高清 中文字幕 | 久九视频 | 国产中文 | 久久国产午夜精品理论片最新版本 | 国产中文在线视频 | 9ⅰ精品久久久久久久久中文字幕 | 韩国av免费观看 | 成人在线观看资源 | 成人午夜电影网站 | 在线中文字幕播放 | 欧美成人免费在线 | 亚洲波多野结衣 | 91丨精品丨蝌蚪丨白丝jk | 久久久久亚洲精品男人的天堂 | 成人9ⅰ免费影视网站 | 久久网站av | 一区在线电影 | 中文字幕免费国产精品 | 亚洲欧美国产精品va在线观看 | 黄色av成人在线观看 | 在线观看成人福利 | 日日夜夜天天干 | 亚洲 欧美 综合 在线 精品 | 久久黄色成人 | www.色五月.com | 久草在线视频在线观看 | 天天亚洲综合 | 国产成人一区二区三区免费看 | 久草干| 久久成人福利 | 精品久久网 | 手机av片| 免费看片网站91 | 亚洲精品1234区 | 亚洲精品乱码久久久久久高潮 | 久久精品免费观看 | 日韩精品一区在线播放 | 精品久久久免费 | 免费av一级电影 | 综合天天久久 | 天天精品视频 | 中文字幕在线免费播放 | 久久国产三级 | 99热这里精品 | 伊人影院av | 午夜久久影院 | 国产精品91一区 | 在线看毛片网站 | 色之综合网| 美女久久久 | 久久视奸 | 亚洲午夜久久久久久久久电影网 | 久久综合五月天婷婷伊人 | av成人在线观看 | 操操操夜夜操 | 欧美电影在线观看 | 天天操操操操操 | 成人av手机在线 | 一区二区欧美在线观看 | 精品国产理论片 | 2024av在线播放 | 国产视频观看 | 日韩免费av网址 | av在线进入 | 密桃av在线 | 欧美日韩一区二区三区在线免费观看 | 99在线精品免费视频九九视 | 精品国产乱码久久久久久久 | 国产一级免费在线 | 超碰在线日韩 | 国产精品麻豆视频 | 国产一区二区在线影院 | 亚洲精品一区二区三区新线路 | 国产精品va| 成人黄色在线看 | 免费亚洲精品视频 | 亚洲精品国产拍在线 | 国产不卡高清 | 午夜手机电影 | 免费在线观看一级片 | 中文日韩在线 | 日韩美在线 | 欧美午夜精品久久久久久浪潮 | 久久视频在线观看中文字幕 | 99视频精品免费视频 | 中文字幕av在线播放 | 国产在线视频资源 | 中文字幕在线国产 | 超碰免费久久 | 爱爱av网| 日本韩国精品在线 | bbb搡bbb爽爽爽 | 国产精品97| 日本精油按摩3 | 激情欧美丁香 | 国产精品爽爽久久久久久蜜臀 | 国产精品videoxxxx | 精品一区免费 | www.香蕉 | 日韩av视屏在线观看 | 草久草久| 干综合网 | 在线观看日韩精品 | 国产一级免费av | 国产麻豆精品久久 | 亚洲欧美精品一区二区 | 国产美女精品视频 | 激情视频网页 | 日韩电影久久 | 国产欧美综合在线观看 | 在线免费观看麻豆视频 | 欧美美女激情18p | 狠狠干成人 | 精品成人a区在线观看 | 91麻豆精品91久久久久同性 | 久久视频网址 | 日韩久久精品一区二区三区 | 久久激情五月婷婷 | 午夜精品一区二区三区四区 | 在线看片91| 免费观看的av网站 | 日韩色综合 | 麻豆国产精品永久免费视频 | 国产资源在线观看 | 在线免费观看黄色大片 | 日操操| 精品一二三区 | 色在线网 | 九九九热精品免费视频观看网站 | 在线观看va | 欧美日韩精品在线观看 | 激情久久久久 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 美女视频a美女大全免费下载蜜臀 | 91视频网址入口 | 亚洲欧美日本一区二区三区 | 97色在线视频 | 国产精品私人影院 | 国产精品av免费观看 | 精品一区 在线 | 正在播放国产91 | 精品999在线| 久久精品牌麻豆国产大山 | 91免费网| 91精品国产91热久久久做人人 | 综合色在线 | 国产黄色理论片 | 国产精品99蜜臀久久不卡二区 | 亚洲精品视频一二三 | 久久国产一二区 | 五月天综合在线 | 日本三级在线观看中文字 | 国产手机在线精品 | 在线观看av中文字幕 | 51久久成人国产精品麻豆 | 成人黄色中文字幕 | 天天摸天天操天天爽 | 国产免费久久久久 | 亚洲激情小视频 | 久久久国产精品一区二区三区 | 日韩av电影中文字幕在线观看 | 国产成人精品久久久 | 国产精品video爽爽爽爽 | 欧美一区二区精美视频 | 国产专区免费 | 婷婷六月久久 | 国产黄色免费看 | 国产不卡精品视频 | 成人a在线观看 | 999毛片| 日本黄色免费电影网站 | 爱干视频| 激情综合国产 | 国产麻豆视频网站 | 国产无区一区二区三麻豆 | 六月丁香激情网 | 国产一区国产二区在线观看 | 九九综合久久 | 天天干,狠狠干 | 免费瑟瑟网站 | 国产免费观看久久 | 91在线小视频 | 国产精品露脸在线 | 在线a人片免费观看视频 | 国产一区二区高清 | 欧美视频在线二区 | 五月开心婷婷网 | 91九色蝌蚪 | 一二区av| 国产精品av在线 | 中文国产字幕 | 国产免费一区二区三区最新 | 九色精品免费永久在线 | 国产精品久久久久久久久蜜臀 | 亚洲精品乱码久久 | 91av官网| 麻花传媒mv免费观看 | 久久国产精品小视频 | 成人三级网站在线观看 | 亚洲激情网站免费观看 | 午夜在线免费观看 | 中文字幕在线观看免费观看 | 一区免费在线 | 久久免费观看视频 | 天天色成人网 | 国内精品久久久久久久影视简单 | 中文字幕二区在线观看 | 国偷自产中文字幕亚洲手机在线 | 中文字幕一区二区三区久久蜜桃 | 99久精品视频 | 美女在线免费视频 | 在线精品视频免费播放 | av成人免费在线 | av在线等| 日韩精品一区二区免费视频 | 亚洲一级片 | 韩国精品在线 | 亚洲视频免费 | 狠狠躁日日躁狂躁夜夜躁av | 一区二区视频免费在线观看 | 久久99婷婷 | 欧美 日韩 国产 成人 在线 | 在线国产99 | 草久在线观看 | www久草| 奇米网8888 | 四虎永久视频 | 久久精品老司机 | 最新色站 | 91麻豆精品国产91久久久久久 | 五月综合在线观看 | 久久久精品免费观看 | 成人av动漫在线 | 狠狠成人 | 青青河边草免费观看 | av怡红院 | 久久久久久久久久网 | 亚洲综合在线观看视频 | 99久久久久久久久 | 久久爱导航 | 在线最新av | 久草免费在线视频观看 | 97免费中文视频在线观看 | 日韩在线视频网站 | 日韩大片免费在线观看 | 免费av网址大全 | 色综合久久精品 | 激情欧美在线观看 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 日韩精品一区电影 | 国际精品久久 | 亚洲美女精品区人人人人 | 天天碰天天操 | 久久久久久久久久久久久影院 | 91av视频在线观看免费 | 久久久久99精品国产片 | 色偷偷人人澡久久超碰69 | 欧美一级黄大片 | 日韩在线不卡视频 | 日韩日韩日韩日韩 | 久久99国产精品免费 | 久久精品一区二区三区视频 | 国产黄色片在线免费观看 | 国产成人精品一区二区在线观看 | 中文字幕在线观看播放 | 午夜在线观看一区 | 91视频免费观看 | 国产黄色片久久 |