久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

MySQL實(shí)訓(xùn)答案速查:從建表到查詢(xún)的避坑指南

MySQL實(shí)訓(xùn)答案速查:從建表到查詢(xún)的避坑指南 簡(jiǎn)介這是一份針對(duì)頭歌平臺(tái)MySQL數(shù)據(jù)庫(kù)實(shí)訓(xùn)的全流程答案整理面向正在完成數(shù)據(jù)庫(kù)定義、表操作、約束應(yīng)用等關(guān)卡的學(xué)習(xí)者也適合需要快速鞏固數(shù)據(jù)庫(kù)基礎(chǔ)、備戰(zhàn)實(shí)訓(xùn)考試的高校學(xué)生。內(nèi)容按實(shí)訓(xùn)模塊逐關(guān)編排既有創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建數(shù)據(jù)表等入門(mén)操作也覆蓋主鍵、外鍵、唯一、默認(rèn)等約束的設(shè)置以及查看表結(jié)構(gòu)、修改表名、調(diào)整字段類(lèi)型與位置、增刪字段、插入更新數(shù)據(jù)等高頻場(chǎng)景每步配有可直接執(zhí)行的數(shù)據(jù)庫(kù)語(yǔ)句方便對(duì)照驗(yàn)證、快速定位錯(cuò)誤。正文以代碼塊形式組織命令前均標(biāo)注對(duì)應(yīng)關(guān)卡遇到報(bào)錯(cuò)時(shí)可逐條核對(duì)減少試錯(cuò)成本。資源包共包含一個(gè)PDF格式文件大小約四百三十三KB文件帶有清晰目錄可依據(jù)關(guān)卡編號(hào)直接跳轉(zhuǎn)查閱。目前已有一萬(wàn)八千三百六十九人學(xué)習(xí)下載對(duì)初學(xué)者和需要高效完成實(shí)訓(xùn)任務(wù)的學(xué)習(xí)者都有較強(qiáng)的參考價(jià)值。1. MySQL實(shí)訓(xùn)答案一份能跑通但別盲抄的速查手冊(cè)MySQL 數(shù)據(jù)庫(kù)實(shí)訓(xùn)向來(lái)不缺題目缺的是能一次跑通的答案。這份《頭歌MySQL數(shù)據(jù)庫(kù)實(shí)訓(xùn)答案》PDF 把建庫(kù)、建表、約束、增刪改查、連接查詢(xún)、子查詢(xún)、聚合函數(shù)、視圖、索引、存儲(chǔ)過(guò)程按關(guān)卡拆成了可直接粘貼的 SQL 片段適合正在趕實(shí)訓(xùn)進(jìn)度、又不想在環(huán)境配置上耗時(shí)間的從業(yè)者和學(xué)生。但我的建議是答案可以抄抄完必須做兩件事——理解每條語(yǔ)句的邊界條件再在本地用同樣的表結(jié)構(gòu)重跑一遍。這份資源解決的是「卡在第幾步、語(yǔ)法怎么拼、表名哪里搞錯(cuò)」這類(lèi)具體問(wèn)題而不是替你學(xué)會(huì) SQL。如果你只是想要一份按目錄檢索的參考手冊(cè)它比翻文檔快得多如果你指望粘貼完就徹底掌握那大概率會(huì)在第二個(gè)項(xiàng)目里翻車(chē)。2. 建庫(kù)建表與約束把 DDL 練成肌肉記憶的三類(lèi)寫(xiě)法2.1 最小可跑通的建庫(kù)建表從零到 t_emp實(shí)訓(xùn)里的每個(gè)新項(xiàng)目幾乎都以這三步開(kāi)場(chǎng)登錄、建庫(kù)、建表。資源里這條命令序列是整套答案里出現(xiàn)頻率最高的骨架。# 登錄實(shí)訓(xùn)沙箱 MySQL 服務(wù)-u 指定用戶(hù)-p 帶出密碼-h 指定主機(jī) mysql -uroot -p123123 -h127.0.0.1use MyDb; # 切換到 MyDb 數(shù)據(jù)庫(kù)后續(xù)建表都建在這個(gè)庫(kù)里 create table t_emp ( # 建員工表四個(gè)字段按題目順序排列 id int, # 整型員工編號(hào) name varchar(32), # 變長(zhǎng)字符串最多存 32 個(gè)字符 deptId int, # 部門(mén)編號(hào) salary float # 浮點(diǎn)型工資 );第一段是命令行登錄參數(shù)-u root指定用戶(hù)名為 root-p123123是密碼直接跟在 p 后面中間不留空格-h127.0.0.1表示連本機(jī)。實(shí)訓(xùn)沙箱里這套參數(shù)是固定的本地環(huán)境直接換密碼即可。第二段是建表語(yǔ)句varchar(32)不是固定占 32 字節(jié)而是最多存 32 個(gè)字符超過(guò)會(huì)截?cái)鄐alary float用浮點(diǎn)存工資實(shí)訓(xùn)里夠用但真實(shí)業(yè)務(wù)我一般用decimal(10,2)避免精度漂移。建表后第一時(shí)間執(zhí)行desc t_emp;或者show create table t_emp;看字段順序和類(lèi)型。實(shí)訓(xùn)評(píng)分經(jīng)常比對(duì)查詢(xún)結(jié)果的列順序id, name, deptId, salary和你寫(xiě)成id, salary, name, deptId在后面的查詢(xún)關(guān)卡里可能結(jié)果內(nèi)容一樣但列頭對(duì)不上評(píng)分腳本直接判定失敗。2.2 主鍵與外鍵單列、復(fù)合和命名約束的選擇主鍵約束在這份資源里出現(xiàn)了三次不同寫(xiě)法分別對(duì)應(yīng)單列主鍵、復(fù)合主鍵和外鍵引用。先看前兩種# 單列主鍵直接在列定義后面聲明 PRIMARY KEY create table t_user1( userId INT PRIMARY KEY, # 用戶(hù)編號(hào)作為唯一標(biāo)識(shí) name VARCHAR(32), password VARCHAR(11), phone VARCHAR(11), email VARCHAR(32) ); # 復(fù)合主鍵把 name 和 phone 組合成一個(gè)整體唯一標(biāo)識(shí) create table t_user2( name VARCHAR(32), phone VARCHAR(11), email VARCHAR(32), PRIMARY KEY(name, phone) # 兩列組合值必須唯一 );單列主鍵適合一張表里已經(jīng)有一個(gè)天然唯一字段的場(chǎng)景比如用戶(hù)編號(hào)。復(fù)合主鍵則用在單列都不唯一、但兩列組合才能唯一的情況。注意復(fù)合主鍵的判定規(guī)則name單獨(dú)可以重復(fù)phone單獨(dú)也可以重復(fù)但(name, phone)這對(duì)組合不能重復(fù)。實(shí)訓(xùn)里檢查你寫(xiě)得對(duì)不對(duì)用desc看 Key 列PRI 出現(xiàn)在哪一行、出現(xiàn)幾次立刻就知道是單列還是復(fù)合。外鍵約束才是這一節(jié)的重點(diǎn)資源里給的標(biāo)準(zhǔn)寫(xiě)法長(zhǎng)這樣# 先建父表 t_class CREATE TABLE t_class( id INT PRIMARY KEY, name VARCHAR(22) ); # 再建子表 t_studentclassId 引用 t_class 的 id CREATE TABLE t_student( id INT PRIMARY KEY, name VARCHAR(22), classId int, CONSTRAINT fk_stu_class1 FOREIGN KEY(classId) REFERENCES t_class(id) );這里CONSTRAINT fk_stu_class1是給外鍵起名后面FOREIGN KEY(classId) REFERENCES t_class(id)聲明子表 classId 引用父表 id。實(shí)訓(xùn)環(huán)境里最常翻車(chē)的點(diǎn)有兩個(gè)一是執(zhí)行順序顛倒必須先建父表再建子表反過(guò)來(lái)直接報(bào)「無(wú)法創(chuàng)建外鍵約束」二是兩側(cè)字段類(lèi)型必須完全一致t_class.id是 INTt_student.classId也必須是 INT寫(xiě)成 VARCHAR 或漏掉類(lèi)型都會(huì)失敗。2.3 添加常用約束非空、唯一、默認(rèn)值與字符集這一關(guān)的建表語(yǔ)句把實(shí)訓(xùn)要求的大部分約束一次集齊了CREATE TABLE t_user( id INT PRIMARY KEY AUTO_INCREMENT, # 主鍵自增插入時(shí)不需手動(dòng)給id username VARCHAR(32) NOT NULL UNIQUE, # 用戶(hù)名非空且唯一 sex VARCHAR(4) DEFAULT 男 # 不傳 sex 時(shí)默認(rèn)填“男” ) DEFAULT CHARSETutf8; # 表級(jí)字符集中文不亂碼AUTO_INCREMENT讓主鍵從 1 開(kāi)始自動(dòng)累加插入時(shí)不需要寫(xiě) id 字段。NOT NULL UNIQUE同時(shí)限制了非空和唯一兩項(xiàng)規(guī)則只要有一條記錄插入了 NULL 或重復(fù)的 username整條 INSERT 直接報(bào)錯(cuò)。DEFAULT 男是列級(jí)默認(rèn)值INSERT語(yǔ)句沒(méi)給 sex 字段時(shí)自動(dòng)補(bǔ)上。注意DEFAULT CHARSETutf8這一句經(jīng)常被忽略。實(shí)訓(xùn)平臺(tái)大多數(shù)默認(rèn) utf8mb4顯式寫(xiě) utf8 也能過(guò)但你本地導(dǎo)數(shù)據(jù)到其他庫(kù)時(shí)字符集不一致會(huì)導(dǎo)致中文變成問(wèn)號(hào)。我的習(xí)慣是建完表立刻執(zhí)行show create table t_user;重點(diǎn)看三處ENGINE 是不是 InnoDBCHARSET 是不是 utf8id 的 Extra 列是不是 auto_increment。這三個(gè)屬性決定了后續(xù)外鍵、自增、中文查詢(xún)能不能正常跑。2.4 表結(jié)構(gòu)維護(hù)ALTER TABLE 五類(lèi)高頻操作項(xiàng)目進(jìn)行到一半發(fā)現(xiàn)表結(jié)構(gòu)不對(duì)就要靠ALTER TABLE補(bǔ)救。資源里覆蓋了改名、改字段名、改類(lèi)型、增刪列、移動(dòng)位置我把這幾條命令理到一起ALTER TABLE tb_emp RENAME jd_emp; # 改表名 ALTER TABLE tb_emp change Id prod_id int(11); # 改列名同時(shí)改類(lèi)型 ALTER TABLE tb_emp MODIFY Name varchar(30); # 只改列類(lèi)型 ALTER TABLE tb_emp ADD Country varchar(20) AFTER Name; # 新增列并指定位置 ALTER TABLE tb_emp DROP Salary; # 刪除列 ALTER TABLE tb_emp MODIFY DeptId int(11) AFTER Salary; # 移動(dòng)列位置CHANGE和MODIFY的差別是這組命令里最值得記的對(duì)比點(diǎn)語(yǔ)句能改列名能改類(lèi)型適用場(chǎng)景CHANGE可以可以列改名加類(lèi)型調(diào)整MODIFY不可以可以只改類(lèi)型或移動(dòng)位置CHANGE后面必須帶著完整的列定義老名字和新名字都要寫(xiě)int(11)不能省MODIFY只需寫(xiě)列名加新類(lèi)型。ADD ... AFTER Name把新列插到 Name 后面FIRST則把列移到第一個(gè)位置。DROP Salary刪除列沒(méi)有后悔藥實(shí)訓(xùn)沙箱里刪完想恢復(fù)只能重新建表再插數(shù)據(jù)。提示多條 ALTER 語(yǔ)句不要擠在一個(gè)執(zhí)行框里連寫(xiě)。實(shí)訓(xùn)評(píng)分按行解析漏一個(gè)分號(hào)會(huì)把后面的語(yǔ)句當(dāng)成上一條的從句報(bào)語(yǔ)法錯(cuò)誤卻不告訴你錯(cuò)在哪一行。我一般每條 ALTER 單獨(dú)執(zhí)行確認(rèn)DESC結(jié)果符合預(yù)期再寫(xiě)下一條。3. 數(shù)據(jù)操作與單表查詢(xún)?cè)鰟h改查的四個(gè)邊界條件3.1 批量插入一條 INSERT 寫(xiě)多行表結(jié)構(gòu)就緒后的第一件事是造數(shù)據(jù)。資源里的批量插入示例非常典型# 一次插入三行員工記錄字段順序與表結(jié)構(gòu)保持一致 INSERT INTO tb_emp(Id,Name,DeptId,Salary) VALUES (1,Nancy,301,2300.00), (2,Tod,303,5600.00), (3,Carly,301,3200.00);一條 INSERT 后跟多組 VALUES每組用括號(hào)包住、逗號(hào)分隔這是標(biāo)準(zhǔn)的批量寫(xiě)入寫(xiě)法。字段列表(Id,Name,DeptId,Salary)限定了每組值的順序多寫(xiě)或少寫(xiě)一個(gè)值都會(huì)報(bào)「Column count doesnt match value count」。評(píng)分會(huì)統(tǒng)計(jì)表內(nèi)的總行數(shù)少插一條就少拿一分所以提交前用select count(*) from tb_emp;對(duì)比一下。這里有個(gè)容易被忽視的坑字符串用雙引號(hào)還是單引號(hào)。MySQL 默認(rèn)兩種都能識(shí)別但實(shí)訓(xùn)平臺(tái)開(kāi)啟了 ANSI_QUOTES 模式時(shí)雙引號(hào)會(huì)被當(dāng)成標(biāo)識(shí)符而不是字符串同樣的語(yǔ)句直接報(bào)錯(cuò)。穩(wěn)妥做法是統(tǒng)一用單引號(hào)這也是 SQL 標(biāo)準(zhǔn)推薦寫(xiě)法。3.2 更新與刪除WHERE 條件決定影響范圍數(shù)據(jù)插進(jìn)去之后實(shí)訓(xùn)馬上會(huì)考改數(shù)據(jù)。資源里這兩條語(yǔ)句看似簡(jiǎn)單邊界條件卻很值得拆開(kāi)看# 只更新 id3 的那一行SET 可以同時(shí)改多個(gè)字段 UPDATE tb_emp SET NameTracy, DeptId302, Salary4300.00 WHERE id3; # 刪除工資大于 3000 的所有記錄 DELETE FROM tb_emp WHERE Salary3000;UPDATE 的三個(gè)賦值之間用逗號(hào)分隔最后用 WHERE 限定行。這里如果把 WHERE 漏掉整張表所有行都會(huì)被改成同一組值在實(shí)訓(xùn)里可能顯示不出來(lái)但數(shù)據(jù)全毀了。DELETE 同樣依賴(lài) WHERE 控制刪除范圍Salary3000刪掉高工資Salary0則等于清空全表。真實(shí)業(yè)務(wù)里一條不帶 WHERE 的 DELETE 甚至可能觸發(fā)數(shù)據(jù)庫(kù)的批量刪除保護(hù)機(jī)制直接拒絕執(zhí)行。我的操作習(xí)慣是寫(xiě) UPDATE 或 DELETE 前先跑一遍同樣 WHERE 條件的 SELECT-- 先看會(huì)命中哪些行 SELECT * FROM tb_emp WHERE Salary3000;確認(rèn)結(jié)果里就是要?jiǎng)h的那幾條再執(zhí)行 DELETE。這個(gè)習(xí)慣在實(shí)訓(xùn)里能幫你提前發(fā)現(xiàn)條件寫(xiě)反在真實(shí)項(xiàng)目里能避免刪錯(cuò)數(shù)據(jù)。3.3 單表查詢(xún)IN、BETWEEN、LIKE、IS NULL 的判定細(xì)節(jié)查詢(xún)語(yǔ)句是實(shí)訓(xùn)占比最大的一塊。資源里四個(gè)關(guān)鍵字查詢(xún)放在一起剛好覆蓋最常見(jiàn)的判定邊界# NOT INid 不是 1 的所有員工 SELECT Name,Salary FROM tb_emp WHERE Id NOT IN (1); # BETWEEN 是閉區(qū)間包含 3000 和 5000 兩條邊界 SELECT Name,Salary FROM tb_emp WHERE Salary BETWEEN 3000 AND 5000; # LIKE 的 % 是任意長(zhǎng)度通配符C% 表示以 C 開(kāi)頭 SELECT Name,Salary FROM tb_emp WHERE Name LIKE C%; # NULL 只能 IS NULL 判斷寫(xiě)成 NULL 永遠(yuǎn)查不到數(shù)據(jù) SELECT * FROM tb_emp WHERE DeptId IS NULL;IN的列表里寫(xiě)的是 id1NOT IN取反返回所有 id 不是 1 的行。BETWEEN 3000 AND 5000是閉區(qū)間等價(jià)于3000 AND 5000。LIKE C%只匹配以 C 開(kāi)頭的名字%C%表示包含 CC_表示 C 后面正好一個(gè)字符。IS NULL專(zhuān)門(mén)查空值新手最常見(jiàn)的錯(cuò)誤是寫(xiě)DeptId NULL這個(gè)表達(dá)式的結(jié)果永遠(yuǎn)是 NULL不會(huì)返回任何行必須用IS NULL或IS NOT NULL。提示SQL 里 NULL 不是值而是「未定義」。任何 NULL 參與的等值比較結(jié)果都不是 true也不是 false而是未知。這就是為什么NULL查不出東西。去重也是一個(gè)高頻考點(diǎn)# DISTINCT 作用在整行而不是單個(gè)列 SELECT DISTINCT Name FROM tb_emp;DISTINCT如果寫(xiě)成SELECT DISTINCT Name, DeptId去重的是兩列的組合。只有當(dāng)你希望基于兩列組合去重復(fù)時(shí)才這么寫(xiě)否則結(jié)果會(huì)比你預(yù)期的多。3.4 排序、分組與 LIMIT三條語(yǔ)句的配合順序查詢(xún)的進(jìn)階形態(tài)是把排序、分組、限量三個(gè)動(dòng)作組合起來(lái)。資源里這三條語(yǔ)句恰好演示了最容易搞混的兩處# 按成績(jī)降序排列DESC 從高到低ASC 從低到高 SELECT * FROM tb_score WHERE class_id 1 ORDER BY score DESC; # GROUP BY 之后 SELECT 里最好只保留分組列和聚合函數(shù) SELECT * FROM tb_class GROUP BY class_id; # LIMIT 第一個(gè)參數(shù)是偏移量0 表示第一行第二個(gè)參數(shù)是取幾行 SELECT * FROM tb_score ORDER BY score DESC LIMIT 1,4;第一條是排序ORDER BY只影響展示順序不影響返回哪些行多個(gè)排序字段用逗號(hào)分隔。第二條是分組GROUP BY class_id之后執(zhí)行SELECT *在 MySQL 5.7 里通常返回每組的第一行但這是未定義行為換了版本結(jié)果可能不同。正經(jīng)寫(xiě)法是SELECT class_id, COUNT(*) FROM tb_class GROUP BY class_id;。第三條的 LIMIT 是所有新手必踩的坑LIMIT 1,4表示從第 2 行開(kāi)始取 4 行也就是第 2 到第 5 名不是第 1 到第 4 名。LIMIT 的第一個(gè)參數(shù)是偏移量從 0 開(kāi)始計(jì)數(shù)。如果題目要「第 2 名到第 5 名」LIMIT 1,4是對(duì)的如果只是「前 4 名」要寫(xiě)LIMIT 4或LIMIT 0,4。4. 連接查詢(xún)與子查詢(xún)多表場(chǎng)景的三種查詢(xún)路徑4.1 內(nèi)連接與外連接誰(shuí)保留誰(shuí)決定方向連接查詢(xún)是實(shí)訓(xùn)里拉開(kāi)差距的關(guān)卡。資源里三個(gè)題目把內(nèi)連接、左外連接、右外連接一網(wǎng)打盡# 內(nèi)連接只返回兩邊都匹配得上的行 select tb_student.name as studentName, tb_class.name as className from tb_student join tb_class on tb_class.id tb_student.class_id; # 右外連接保留右表 tb_student 全部行 select tb_student.name as studentName, tb_class.name as className from tb_class right join tb_student on tb_class.idtb_student.class_id; # 左外連接保留左表 tb_class 全部行 select tb_student.name as studentName, tb_class.name as className from tb_class left join tb_student on tb_class.idtb_student.class_id;第一段JOIN ... ON是內(nèi)連接學(xué)生表里如果有 class_id 指向不存在的班級(jí)這一行會(huì)被過(guò)濾掉。第二段和第三段的對(duì)比很有迷惑性代碼只差一個(gè) left/right語(yǔ)義完全相反。題目要求「查詢(xún)所有學(xué)生姓名和對(duì)應(yīng)的班級(jí)」意味著必須保留學(xué)生表的全部行哪怕某個(gè)學(xué)生的班級(jí) id 在班級(jí)表里不存在。第二段用tb_class RIGHT JOIN tb_student能正確保留右表 tb_student 全部行。第三段用tb_class LEFT JOIN tb_student保留的是班級(jí)表全部行沒(méi)學(xué)生的班級(jí)也會(huì)出現(xiàn)學(xué)生字段顯示 NULL方向就反了。我的判斷方法是先問(wèn)自己結(jié)果里必須出現(xiàn)哪張表的全部行那張表就要放在「保留表」的位置。LEFT JOIN保留左表RIGHT JOIN保留右表。實(shí)訓(xùn)題目里描述是「所有學(xué)生」時(shí)優(yōu)先考慮tb_student LEFT JOIN tb_class這樣語(yǔ)義最直白。4.2 復(fù)合條件連接與子查詢(xún)比較、ALL/ANY、IN多表關(guān)聯(lián)不一定要用 JOIN 關(guān)鍵字老式逗號(hào)寫(xiě)法在實(shí)訓(xùn)題目里也很常見(jiàn)# 三表關(guān)聯(lián)連接條件放在 WHERE 里過(guò)濾條件放在 AND 后面 select s1.name as studentName, score, s2.name as className from tb_student as s1, tb_class as s2 where s1.class_id s2.id and s1.score 90 order by score desc;s1和s2是表別名寫(xiě)長(zhǎng)查詢(xún)時(shí)能省大量字符也避免同名字段歧義。這段的等價(jià)寫(xiě)法是tb_student join tb_class on tb_student.class_id tb_class.id where score 90。and s1.score90是過(guò)濾條件漏掉的話(huà) 90 分以下的學(xué)生也會(huì)混進(jìn)結(jié)果。子查詢(xún)部分最考驗(yàn)對(duì)關(guān)鍵字語(yǔ)義的理解。資源里這組代碼是典型代表# 標(biāo)量子查詢(xún)內(nèi)層返回平均年齡外層逐行比較 select name, age from tb_emp where age (select avg(age) from tb_emp); # ANY大于子查詢(xún)結(jié)果里的任意一個(gè)值即可 SELECT position,salary FROM tb_salary WHERE salary ANY(SELECT max(salary) FROM tb_salary where positionjava);第一個(gè)是標(biāo)量子查詢(xún)內(nèi)層返回一個(gè)值外層用比較運(yùn)算符和它比較邏輯直白。第二個(gè)是 ANY 的語(yǔ)義salary ANY(...)只要大于子查詢(xún)返回集合里的任意一個(gè)值就滿(mǎn)足。這里子查詢(xún)只返回一個(gè) max(salary)ANY 和直接大于最大值等價(jià)。如果把 ANY 換成 ALL表示要大于所有值而沒(méi)有任何工資能大于自己的最大值這個(gè)條件永遠(yuǎn)為假。這兩種關(guān)鍵字放在一起就是用來(lái)考察你分不分得清集合邏輯。IN 子查詢(xún)?cè)趯?shí)訓(xùn)里更常用典型場(chǎng)景是「先查出符合條件的 id 集合再查這些 id 的完整記錄」# 查出 90 分以上的學(xué)生 id外層再取完整信息 select * from student where s_id in ( select s_id from score where s_score 90 );內(nèi)層select s_id from score where s_score 90返回一批學(xué)生編號(hào)外層用 IN 判斷 s_id 是否落在其中。這個(gè)寫(xiě)法比 JOIN 更直觀(guān)尤其適合一層套一層的統(tǒng)計(jì)題目。4.3 聚合函數(shù)與分組統(tǒng)計(jì)COUNT、SUM、AVG、MAX、MIN 的邊界聚合函數(shù)這一關(guān)是必考項(xiàng)。資源里把五個(gè)函數(shù)分開(kāi)練習(xí)但實(shí)際組合使用更常見(jiàn)。先看基礎(chǔ)用法# COUNT(*) 數(shù)行數(shù)COUNT(列名) 數(shù)列里非 NULL 的個(gè)數(shù) select count(*) from tb_class; select classid, count(*) from tb_class where classid367; # SUM 和 AVG 自動(dòng)忽略 NULL但列必須是數(shù)值類(lèi)型 select sum(score) from tb_class; select course, avg(score) from tb_class where course語(yǔ)文; # MAX/MIN 對(duì)字符串也有效按字典序取最大最小 select course, max(score) from tb_class where course語(yǔ)文; select course, min(score) from tb_class where course英語(yǔ);COUNT(*)統(tǒng)計(jì)整張表的行數(shù)COUNT(列名)統(tǒng)計(jì)該列非 NULL 的行數(shù)如果列允許 NULL兩個(gè)結(jié)果可能不一致。SUM、AVG自動(dòng)忽略 NULL 值但列里全是 NULL 時(shí)AVG返回 NULL 而不是 0。MAX、MIN對(duì)字符串按字典序比較不是按長(zhǎng)度這個(gè)細(xì)節(jié)在統(tǒng)計(jì)課程名稱(chēng)時(shí)容易踩。聚合函數(shù)最常見(jiàn)的坑發(fā)生在 WHERE 和 HAVING 混用時(shí)。記住一條規(guī)則WHERE 在分組前過(guò)濾行HAVING 在分組后過(guò)濾組。比如「統(tǒng)計(jì)平均分大于 90 的班級(jí)」# 先按班級(jí)分組再用 HAVING 過(guò)濾平均分大于 90 的組 select class_id, avg(score) as avg_score from tb_score group by class_id having avg_score 90;如果把having avg_score 90寫(xiě)成where avg_score 90數(shù)據(jù)庫(kù)會(huì)直接報(bào)錯(cuò)因?yàn)?WHERE 在分組之前執(zhí)行那時(shí)聚合結(jié)果還不存在。分組統(tǒng)計(jì)的完整形態(tài)是多個(gè)分組維度組合# 按年級(jí)和性別兩個(gè)維度分組每組統(tǒng)計(jì)人數(shù) select gradeId, sex, count(*) from student where gradeId in (2,3,4) group by gradeId, sex;結(jié)果里每個(gè)「年級(jí)-性別」組合占一行。注意SELECT查詢(xún)的列必須出現(xiàn)在GROUP BY中否則在 MySQL 5.7 的ONLY_FULL_GROUP_BY模式下會(huì)直接報(bào)錯(cuò)。4.4 經(jīng)典題型交換、排名與人流量的解題套路資源后半段的復(fù)雜查詢(xún)難度明顯上一個(gè)臺(tái)階。三道經(jīng)典題幾乎覆蓋了實(shí)訓(xùn)里最吃技巧的三類(lèi)寫(xiě)法CASE WHEN 做值交換、子查詢(xún)做排名、自連接做連續(xù)區(qū)間判斷。第一類(lèi)「交換工資」本質(zhì)是把某一列的值按條件互相替換# 用 CASE WHEN 把性別互換m 變 ff 變 m UPDATE tb_Salary SET sex CASE sex WHEN m THEN f ELSE m END;CASE sex WHEN m THEN f ELSE m END是一個(gè)表達(dá)式對(duì)每一行判斷當(dāng)前 sex 的值是 m 就改成 f否則改成 m。這種寫(xiě)法只執(zhí)行一次 UPDATE 就把兩類(lèi)值對(duì)調(diào)如果分兩步更新第一步把 m 改成 f第二步再按 f 改 m數(shù)據(jù)就會(huì)全部變成 m這就是為什么不能分步做交換。第二類(lèi)「分?jǐn)?shù)排名」用相關(guān)子查詢(xún)數(shù)比自己分?jǐn)?shù)高的行數(shù)# 去重排名數(shù)一數(shù)有多少個(gè)不同的分?jǐn)?shù)大于等于當(dāng)前分?jǐn)?shù) select Score, (select count(distinct score) from score where score s.score) as Rank from score as s order by Score desc;內(nèi)層子查詢(xún)對(duì)每一行都執(zhí)行一次統(tǒng)計(jì)score s.score的不同分?jǐn)?shù)個(gè)數(shù)。比如最高分 100 分統(tǒng)計(jì)出來(lái) count 是 1第二名 99 分統(tǒng)計(jì)出來(lái)是 2這樣就實(shí)現(xiàn)了排名。如果不用 DISTINCT會(huì)出現(xiàn)并列名次占位的問(wèn)題比如兩個(gè)第二第三就會(huì)從 4 開(kāi)始數(shù)。第三類(lèi)「體育館人流量」考的是自連接找連續(xù)區(qū)間-- 三表自連接判斷 id 連續(xù)的三天都超過(guò) 100 人 select distinct a.* from gymnasium a, gymnasium b, gymnasium c where a.visitors_flow100 and b.visitors_flow100 and c.visitors_flow100 and ( (a.id b.id-1 and b.id c.id - 1) -- a在中間b、c是后兩天 or (a.id b.id-1 and a.id c.id 1) -- b、c是前后兩天 or (a.id b.id1 and b.id c.id 1) -- a在最后c、b是前兩天 ) order by a.id;同一張表自己和自己連接三次通過(guò) id 相差 1 的關(guān)系找出「連續(xù)三天流量都達(dá)標(biāo)」的日期。distinct去掉重復(fù)行是因?yàn)橥惶炜赡艹霈F(xiàn)在多個(gè)三元組里。這道題難點(diǎn)不在 SQL 語(yǔ)法而在你能不能想到用自連接把「連續(xù)三天」翻譯成「a、b、c三個(gè) id 構(gòu)成三個(gè)連續(xù)整數(shù)」。5. 避坑檢查實(shí)訓(xùn)評(píng)分環(huán)境里最常翻車(chē)的五個(gè)位置5.1 語(yǔ)句結(jié)尾與分號(hào)多寫(xiě)一個(gè)分號(hào)被判錯(cuò)現(xiàn)象答案在 Navicat 里能跑通粘貼到實(shí)訓(xùn)平臺(tái)卻提示語(yǔ)法錯(cuò)誤。原因?qū)嵱?xùn)評(píng)分腳本經(jīng)常把整段代碼作為一條語(yǔ)句執(zhí)行BEGIN ... END塊內(nèi)部如果多了分號(hào)或者最后一行后面留了空行加額外分號(hào)會(huì)被解析成兩條語(yǔ)句第二條不完整就直接報(bào)錯(cuò)。解決每條語(yǔ)句末尾只保留一個(gè)分號(hào)自定義函數(shù)和存儲(chǔ)過(guò)程用delimiter包裹的代碼段結(jié)尾的分號(hào)和delimiter //要嚴(yán)格按題目示例寫(xiě)。本地復(fù)現(xiàn)時(shí)發(fā)現(xiàn)show create table ... \G這種以\G結(jié)尾的語(yǔ)句按行評(píng)分時(shí)尤其挑剔建議去掉\G用普通分號(hào)結(jié)尾。5.2 大小寫(xiě)與中文字符表名、列名和注釋的坑現(xiàn)象查詢(xún)結(jié)果和標(biāo)準(zhǔn)答案內(nèi)容一致評(píng)分仍然判定錯(cuò)誤。原因三個(gè)層面。第一實(shí)訓(xùn)庫(kù)在 Linux 下表名區(qū)分大小寫(xiě)TB_EMP和tb_emp是兩個(gè)表第二中文字符集不對(duì)插入的中文查詢(xún)條件變成亂碼后匹配不上第三代碼編輯器里的智能引號(hào)把 ASCII 引號(hào)替換成中文引號(hào)course語(yǔ)文的中文引號(hào)會(huì)讓 SQL 解析直接失敗。解決表名和列名嚴(yán)格按題目描述寫(xiě)統(tǒng)一小寫(xiě)建庫(kù)語(yǔ)句顯式加DEFAULT CHARSETutf8寫(xiě)中文字符串時(shí)只用英文單引號(hào)寫(xiě)完檢查一下引號(hào)兩邊的字重是否統(tǒng)一。5.3 外鍵約束與刪除順序先刪子表還是先刪父表現(xiàn)象刪除父表記錄時(shí)提示cannot delete or update a parent row。原因t_class 是父表t_student 通過(guò)外鍵引用 t_class.id只要子表里還有學(xué)生引用某個(gè)班級(jí) id直接刪父表記錄就被外鍵約束攔住。解決先刪子表里引用該班級(jí)的行再刪父表記錄。實(shí)訓(xùn)里如果題目只要求刪父表但環(huán)境里子表已有數(shù)據(jù)可以先執(zhí)行SET FOREIGN_KEY_CHECKS0;臨時(shí)禁用外鍵檢查刪完再設(shè)回 1。注意這個(gè)命令只在當(dāng)前會(huì)話(huà)有效不影響其他提交。5.4 GROUP BY 與 HAVING分組列沒(méi)查全導(dǎo)致報(bào)錯(cuò)現(xiàn)象執(zhí)行select class_id, count(*) from tb_score group by class_id;時(shí)報(bào)錯(cuò)提示列不在 GROUP BY 子句中。原因MySQL 5.7 及以上默認(rèn)開(kāi)啟ONLY_FULL_GROUP_BYSELECT 的列必須在 GROUP BY 里出現(xiàn)否則拒絕執(zhí)行。實(shí)訓(xùn)平臺(tái)恰好是 5.7這條規(guī)則卡掉了很多人。解決SELECT 里只保留分組列和聚合函數(shù)。如果確實(shí)需要查非分組列用子查詢(xún)或ANY_VALUE()繞過(guò)但實(shí)訓(xùn)里不推薦這種寫(xiě)法評(píng)分腳本可能不認(rèn)。正確做法是先group by分組再在子查詢(xún)外層取完整記錄。5.5 修改類(lèi)題目重復(fù)執(zhí)行第二次跑答案直接失敗現(xiàn)象同一個(gè)關(guān)卡在本機(jī)練習(xí)時(shí)第二次提交結(jié)果和第一次不一致甚至報(bào)錯(cuò)。原因評(píng)分沙箱每次提交會(huì)重置數(shù)據(jù)庫(kù)但本地練習(xí)時(shí)不會(huì)。帶AUTO_INCREMENT的表第二次插入id 會(huì)繼續(xù)累加UPDATE 把性別從 m 改成 f再跑一遍條件就匹配不上了。解決本地練習(xí)前先DROP TABLE再重新建表或者每次跑之前執(zhí)行TRUNCATE TABLE 表名;把數(shù)據(jù)清零。實(shí)訓(xùn)平臺(tái)的線(xiàn)上提交不用擔(dān)心這個(gè)但本地復(fù)現(xiàn)時(shí)一定要重置環(huán)境否則你會(huì)以為答案寫(xiě)錯(cuò)了實(shí)際是上一輪練習(xí)的數(shù)據(jù)殘留導(dǎo)致的。6. 用一份自檢 SQL 驗(yàn)證實(shí)訓(xùn)答案三分鐘定位對(duì)錯(cuò)拿到這份 PDF 答案之后最高效的用法不是逐條抄而是把它當(dāng)作「通關(guān)對(duì)比表」。每一關(guān)提交前我習(xí)慣先跑三條自檢 SQL確認(rèn)自己的語(yǔ)句和答案在邏輯上等價(jià)而不是在字符串上完全一致。第一類(lèi)自檢是結(jié)構(gòu)檢查。建表或改表類(lèi)關(guān)卡提交前確認(rèn)表存在、字段正確# 查看當(dāng)前庫(kù)里有哪些表 SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA DATABASE(); # 查看表字段類(lèi)型和鍵標(biāo)記 DESC t_emp; # 查看建表語(yǔ)句細(xì)節(jié)重點(diǎn)看 ENGINE 和 CHARSET SHOW CREATE TABLE t_emp;information_schema.TABLES查庫(kù)內(nèi)所有表名DESC看字段順序和 PRI/MUL 標(biāo)記SHOW CREATE TABLE看字符集和引擎。這三條合在一起能覆蓋 80% 的 DDL 類(lèi)關(guān)卡。第二類(lèi)自檢是等價(jià)條件比對(duì)。把答案里的 WHERE 改寫(xiě)成另一種表達(dá)確認(rèn)結(jié)果一致-- 兩種寫(xiě)法結(jié)果應(yīng)完全相同 SELECT * FROM tb_score WHERE score BETWEEN 3000 AND 5000; SELECT * FROM tb_score WHERE score 3000 AND score 5000;如果兩個(gè)結(jié)果的行數(shù)和內(nèi)容一樣說(shuō)明查詢(xún)條件沒(méi)問(wèn)題。如果不一樣優(yōu)先懷疑 BETWEEN 邊界、LIKE 通配符位置、NULL 判斷是不是用了等號(hào)。第三類(lèi)自檢是連接查詢(xún)的總數(shù)校驗(yàn)。多表連接最容易翻倍數(shù)據(jù)用保留表的行數(shù)做對(duì)照# 左外連接的行數(shù)應(yīng)該等于學(xué)生表總行數(shù) SELECT COUNT(*) FROM tb_student s LEFT JOIN tb_class c ON s.class_id c.id; # 學(xué)生表總行數(shù) SELECT COUNT(*) FROM tb_student;左外連接保留學(xué)生表全部行第一個(gè) COUNT 應(yīng)該等于第二個(gè) COUNT。如果第一個(gè)大于第二個(gè)說(shuō)明 ON 條件導(dǎo)致一對(duì)多膨脹如果第一個(gè)小于第二個(gè)說(shuō)明連接條件漏掉了某些匹配關(guān)系。這個(gè)技巧在真實(shí)業(yè)務(wù)里寫(xiě)報(bào)表時(shí)極其好用我每次完成帶 JOIN 的查詢(xún)都會(huì)用保留表的行數(shù)做一次總數(shù)校驗(yàn)?zāi)軘r下大量因?yàn)橐粚?duì)多連接導(dǎo)致的數(shù)據(jù)翻倍。從那以后我每次跑實(shí)訓(xùn)答案和實(shí)際項(xiàng)目 SQL 前都強(qiáng)制走一遍這三板斧結(jié)構(gòu)查一次、等價(jià)條件比對(duì)一次、連接總數(shù)校驗(yàn)一次。這套習(xí)慣幫我省下了大量查錯(cuò)時(shí)間也希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
免费啪啪av| 人妻系列无码专区中文有码| 91N综合网在线| 欧美在线观看综合国产| xxxx网站亚洲精品| 99久久久久久亚洲精品不卡| 丝袜美腿亚洲| 青草伊人网| 欧美久久久| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 在线αⅴ| 精品人妻一区二区三区日产| 好涩综合| 97 国产精品| 裸模AV女优| 成人免费在线网站| 久久精品国产AV一区二区三区| 久久香蕉国产线看观看亚洲女人| 神马久久久久久久久| 亚洲AV无码久久精品蜜桃小说| 五月丁香在线| 亚洲欧美综合色| 婷婷九月| 国产一区麻豆免费观看| 超碰人人妻| 五月丁香激情综合| 超碰69| 欧中日成人免费影视| 国产精品青草综合久久| 天天日天天爽| 国产精品视频电影| 综合网亚| 精品少妇一区二区三区| 大干人妻| 大香蕉人妻久久| 亚洲欧美内射| 亚洲成a人v欧美综合天堂下载| 欧美日韩中文字幕不卡| 69天堂| 天美传媒AV在线播放| 日本媚薬中文字幕在线| 人妻久久一区二区三区 | 国产激情片在线观看| 欧美国产精品久久九九| 欧美日韩精品一区二区三区高清| 亚洲黄色a级片| 欧美性爱十八禁| 视频国产精品未满十八禁止在线观看| 麻豆天美国美国产| 91国产大片| 日日干男人的天堂| 国产自偷| 亚洲无992tv| 九九综合九九综合| 久久久99久9| 97超碰色屌| 内射黑丝袜| 中文字幕熟女人妻丝袜丝| 欧美色综合网| 欧美激情性爱视频网站| 91人妻PORNY九色大屁股| 色性欧美| 日韩精品一区,二区 九九...老司机| 欧美洲精品一级| 伊人午夜福利视频| 日韩欧美大力操| 人人天天干干| 欧美少妇第一页| 欧美A√综合网| 天天爽入口| 久久午夜色播影院免费高清| 新婚人妻扶着粗大强行坐下| 天天影视综合网欧美精品| 日少妇亚洲版| 亚洲AV色图| 日韩欧美大力操| 国产AV超爽| 91狠狠综合久久久久久| 韩日自拍| 国产51色综合久久免费| 992这里有精品| 牛牛久久国产精品视频一二三 | 人人操人人操人人人操| 久草免费在线视频| 99久久婷婷丁香| 制服乱伦| 久久久久婷婷精品av电影| 人人操人人肉久久精品| 亚欧高清在线| 天天看高清麻豆| 国产成人五月天丁香花| 亚洲第一综合| 超碰无码五月97| 成人午夜高潮av猛片| 亚洲中文字幕av| 亚州高清色综合| 亚洲欧美日韩激情不卡| 啊好爽受不了无码| 亚洲无992tv| 免费看久久久性性| 9999久久久久| 无码国产精品久久久久| 97天天弄| japan日本高清乱xxxx| 蜜臀人妻少妇久久在线观看| 久久国产成人精品国产成人亚洲| 99热在线不卡| 精品人成视频在线观看| 91亚洲欧美色图| 69一区二区三区| 97干在线| 91高潮| 亚洲日本韩国在线| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲黄色a级片| 嗯嗯啊啊日韩精品| 黄片在线免费在线观看| 日本ZZ高免费A级视频| 大学生口爆吞精| 蜜臀久久99精品| 自拍偷拍第26| 久久少妇人妻| 中文字幕精品区先锋资源| 国产免费一区| 综合自拍| 欧美91精品国产自产| 欧美 亚洲 综合 制服| 加勒比综合在线| 性爱av在线免费观看| 肉丝无码中文高清| 999岛国大片| 欧美另类天堂| 老女人日韩美91| 久操视频在线观看| 男人 天堂 日 亚洲| 欧美日韩性爱电影在线| 97视频www| 欧美日韩一区二区三区四区蜜桃| 思思热免费视频观看| 国产少妇内射| 久久久婷婷| 亚洲av综合色区图片亚洲| 都市激情人妻一区二区青青操视频| 欧美黑人精品在线播放| 抽插亚洲无码| 夜夜爽妓女| 99久久婷婷丁香| 人妻熟女一区二区三区视频| 爱爱动态试试看6 0秒| 在线观看高清AV| 色色青青久久| 中文幕97| 日韩免费人妻色情网站| 桃花色综合影院| 99re99视频在线免费观看| 熟妇操花| 岛国免费视频在线| 夜夜爽夜夜爽| 亚洲天堂资源| 欧美日韩资源在线| 久久久国产成人一区二区三区在线 | 美女网站黄页| 国模限制级电影| av网站在线观看了| 草草草草视频| 97热视频在线观看| 日韩伦理久 久久 清纯| 全球成人中文在线| 偷拍三区| 青青爽| 岛国毛片在线观看免费| 亚洲精品久久久久毛片A片拉屎 | 欧美日不卡| 国产精品麻豆免费视频| av三级电影在线播放| 啊啊啊啊啊舒服| 91N欧美| 亚洲精品美女久久久久久久久| 久久久久久久强迫| 17c嫩草51久久91嫩草| 日韩特一级久久| 台湾肥佬网一区二区三区| 久久ww| 国产亚洲日韩在线三区黑人| 99久久精品欧美国产| 91丝袜人妻| 日本一久是| 人人爱夜夜爱| 亚洲情色五月天 | 91M一社| 97丝袜亚洲在线播放| 看看小穴| 安徽熟妇视频| 麻豆影音天美视频| 污污污8888| 夜夜中出国产| 77777亚洲蜜臀精品久久综合蜜臀| 亚洲AV无码国产精品久久久久| 日本丝袜人妻内射| 美国aaaaa一级黄片| 国产A v无码专区| 91伊人久| 久久69精品久久久久久久| 东京热男人的天堂| 97色97干| 韩三级a视频在线观看| 国产午夜在线观看| 五月亭亭六月丁香| 搡老熟女免费视频 | 麻豆亚洲Av成人无码一区精品| 伊人99热| 美女黄页| 中 文字幕一区二区三四 五 区日 日 骚| 天美精品av| 国产欧美精品日韩区二区麻豆天美| 日韩高潮一区| wwe 天天干.com| 国产青视频| 亚洲中文电影| 99福利社| 精品人妻av区天天看片| 国产精品福利资源在线尤物| 中文字幕奈奈美被公侵犯| 午夜爽爽爽在线观看永久入口姬片| 日韩国产在线观看av| 青娱乐国产盛宴视频| 天天综合网日韩7799| 黄色一区二区秘书性感| 色一色综合网| 色性综合| 99热8| 亚洲国产精品无石码久久 | 天天做天天爽| 日韩一区二区熟女| 岛国不卡超碰护士AV在线播放| 国产精品色| 日韩精品-原创伙伴| 新亚洲无码| 国产超碰在线一区| 插入粉嫩少妇视频| 精品黄色电影| 被体育老师抱着c到高潮| 亚洲综合婷婷| 午夜福利在线视频1000| 久久婷婷苹果| 操b在线观看| 老司机深夜影院18未满| 欧美性爱97超碰| 成人精品视频| 亚洲爽图| 激情久久久| 亚洲色欲一区二区三区| 国产超碰欧美| 操操逼操操逼操操逼逼| 中文字幕55555| 亚洲熟妇综合久久久久久| 97免费视频在线| 久久黄色视频一区二区三区 | 九九九草| 日韩极品无码B| 思思热免费视频观看| 亚洲精品蜜桃久久久一区二区三区| 亚洲熟女一区| 91综合色| 夜夜爽77777| 亚洲丝袜二区在线| 先锋色眉乱伦资源| 久久九操在线观看| 色黄色美女大长腿午夜视频| 亚洲美女精品| 中国少妇啪啪视频| 天天性射网| 男女做爰猛烈动高潮A片免费应用| 国产无套粉嫩白浆在| 操美女人妻| 激情一区二区| 婷婷色网| 99热在线只有精品| 自拍偷拍2025在线观看| 亚洲自拍欧美色综合| 精品人妻中文字幕高清| 理论久久婷婷网 8| 日本天天干天天操一区| 女优视频第10页| 国产伊人精品在线| 免費黃色視頻觀看一| 色哟哟1区2区| 亚洲黄色网址视频| 久操| 亚洲国产激情国产av| 职场同事知名国产国产精品久久欧美日韩 | 婷婷丁香五月天综合东京热| 欧美91在线+|+欧美| 日婷婷| 91色图片| 亚洲AV无码乱码| 有码色中文字幕在线观看| 青娱乐福利99| 综合大香蕉美。| 人妻81p| 精品中文日韩字幕视频| 中文字幕乱在线伦视频中文字幕乱码在线| 亚洲男人的天堂在线看| 欧美日本中字另类在线| 97伊人超碰| 激情五月天综合网| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 日韩精品9区| 成人麻豆av电影网站| 黄呦呦在线| 蜜乳av一区二区| 欧美综合 站| www.色婷婷色综合| 亚洲日韩国产精品| 亚州久久9| 日本高清一区二区在线| 欧美亚洲首页| 天天舔九色婷婷| 日韩无码a片| 亚洲AV色图一区| 色五月婷婷五月天| 日韩无码精品综合久久| 久久久久人| 国产精品交换一区二区| 久久国产逼| 超碰97在线中文| 亚洲欧美成人在线| 中国农村熟妇毛片视频| 超碰九九| 日韩精品第3页| 日韩性爱网址| 欧美性爱第一页久久| 中国熟女网站| 99无码视频| 1人人看人人摸人人操| 久久偷偷色综合蜜桃| 色欧美天天| 激情抓乳插进去啪啪啪日韩 | 丁香激情五月天| 久久欲| 欧美天天综合网版| 久久99草| 天美av在线观看| 色婷婷丁香五月| 伊人久久青青草| 大香蕉欧美国产日韩高潮| 黄色一区二区秘书性感| 男人的天堂日本东京热| 久久久一热在线播放| 少妇啪啪自拍| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日本黄色裸日本黄色裸体| 久久东京国产精品视频| 尤物网址| 人妻三级在线中文字幕| 久久久久久中文| 亚洲视频小说| 久久久久亚洲精品| 91网亚洲| 999狠狠综合| 日韩成人大片在线观看| 北约熟女超碰| 亚洲欧洲无码bt精品合集| 天堂成人网| 亚洲熟妇综合久久久久久| 亚洲综合小视频小说在线观看| 欧洲色色| 丁香五月婷婷五月| 婷婷色网| 台湾佬中文娱乐网久久久久久久久久com | 日夜尻逼网| 精品乱码久久久久| 99热导航| 亚洲 综合 第一页| 成人欧美日超碰| 绑缚麻绳人妻寝取完整版| 男女打扑克高清网站| 超碰av人人人| 精品人人| 欧美亚洲se91| 欧亚揄拍偷拍精品视频| 一区二区播放| 午夜传煤十二区精品| 91国产丝袜白虎| 97国产精选| 97 国产精品| 超碰吊日色| 男人久久天堂| 五月婷亚洲精品天堂| 欧美色图色综合| 免费A片三p视频| 一级做a爰片性色毛片久久| 亚洲欧美日韩偷拍色图| 91国产操逼视频| 亚洲黄色视频在线观看视频| 久久riav中文精品| 桃花色涩综合影院| 狠狠操狠狠| 99热综合在线| 综合久久99亚洲人妻中文在线| 日韩欧美水蜜桃人妻| 久久久久婷婷精品av电影| 久艹99| 操熟女91| heyZO天然素人无码AⅤ专区| 国产精品无码AV网站| 激情五月婷婷综合| av操操不卡| 色综合20p| 99少妇内射| 人妻精品视频一区二区三区| 操逼操网| 95精品在线| 久久毛卡| 国产精品内射婷婷一级二| 亚洲激情视频| 日韩色欲久久一二三四区| 簧片免费看视频| 色欧美天天| 日韩视频小说在线观看| 青青五月天| 玖玖爱在线视频免费观看| 精品国产人成在线| 久操高青| 精品夜夜澡人妻无码AV| 国产操逼视频在线观看| 9久久精品| 欧美成人综合| 亚洲成人贴图| 人人摸人人摸人人干| 夜夜操二区| 内射黑丝袜| 欧美一级在线观看成人| 国产亚洲99久久精品| 久久精品视频28| 99久久99九九99九九九| 人妻 中文 日韩| 日韩有码一区三区| 99热线麻豆| 一级黄色视频网| 天美国产三级传媒| 新怡红院| 日韩亚洲Av人人夜夜澡人人爽| 麻豆亚洲Av成人无码一区精品| 五月天亚洲网| 日韩亚洲国产视频| 欧美日本天堂| 色综合国产在线观看| 99这里有精品| 后入合集| 这里只有精品视频| 巨乳特殊服务按摩| 99精品热| 91爱剪切久久| 丁香五月性| 九九九九九九免费视频| 亚洲系列第一页| 亚洲欧美一区二区不卡视频播放| 日韩免费高清大片在线| 99re3这里只有精品| 91高潮| 日本99视频| 国产自偷| 日日操天天操| 91熟女丨老女人| 色婷婷电影网| 欧美性91| 91女网站| 久久黄片国产一区二区| 超碰人妻中文在线| 国产精品国产自产高清AV| 欧美激情欧美精品| 国产一级高跟丝袜| 九九超碰综合网| 黄片www.| 久久中文字幕在线观看| 亚洲有码 欧美精品| 啊啊啊啊啊啊啊啊在线观看| 欧美激情总合网| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 成人七区| 久久禁| 91丨九色丨43老版熟女| 天天综合网在线91| 中文字幕丝袜人妻| 久草视频观看视频在线| 精人妻无码一区二区三区伊人直播| 国产精品一级毛片不卡视| 九九av| 91九色精品熟女内射| 夜夜躁狠狠躁日日躁av| 国产视频一区二区三区久久亚洲天堂| 人妻无一区二区三区| 一区二区视频你懂的| 天天草天天干天天日| 91bbbbbb| 一二三四视频在线社区中文字幕| 五月婷婷色| 色波多| 黑人粗大V S日韩女优视频| 五月婷婷色色| 欧美A片中文字幕| 欧美色图在线视频少妇| 欧美1727免费观看视频| 欧美精品一区二区少妇免费A片| 日本久久999| 伊人成人中文字幕久久网| 日本人妻中文字幕精品| 91热热色| 激情视频一二三| 天天插天天操| 日本操逼视频不卡直接放| 久久久精品九| 91丝袜激情在线| 亚洲图片欧美在线视频| 九九精品无码专区免费| 色婷婷日韩精品一区二区三区| 神马久久久久眼| 午夜寂寞欧美| 91色人妻| 91老熟妇| 精品国产乱子伦一区二区三区,精品一 | 一区,二区,三区网站| 日本日皮视频逼| 在线观看亚洲成人精品| 久久欧美激情| 欧美洲精品一级| 欧美综合加勒比在线| 国产成人无码网站在线视频| 最新av中文字幕高清| 97久久久久久久久久| 六月丁香五月婷婷| 强奸乱伦资源| 人人人人插| 亚洲欧美天| 成人AV素股で擦久久| 综合激情五月丁香| 手机在线看片免费人成视频| 麻豆国产视频精品观看| 易易A毛视频| 国产三级中文字幕粉嫩| 色婷婷一区二区三区久久午夜| 欧美丝袜激情| 天天日日日射| 很黄很污的免费网站| 久久久人体| 五月激情在线| 九九成人视频| 夜夜操狠狠操| 大香蕉综合网| 七久久久| 日韩97视频!在线| 91 手机在线播放 绯色| 婷婷午夜| 天天爽天天操| 男人的天堂不卡一区二区| 国产亚洲精品第一最新| 人人贴人人摸| av强奸乱轮| 色综合天天| 国产成人一级av88| 日韩欧美俄罗斯A片| 日韩一级成人毛片免费观看| 国产av美女被艹的乱叫| 九九RE视频在线精品| 综合网色| 精品久久久久,69国产成人精| 黄页大片在线观看| 好爽,再快点啊哈嗯嗯嗯嗯| 欧美18禁91| 亚洲青色欧美| 天天综合网亚洲综合网| 国产丁香精品露脸视频| 一本色道综合久久欧美日韩精品| 91情色| 国产一区二区免费福利片| 国产精品探花色| 久草免费福利在线播放| 黄网在线播放| 国产精品熟女AV中文字幕在线播放| yazhousetuoumei| 96久久久精品| 欧美日韩久久精品爱爱| a片在线播放| 涩涩这里只有精品视频| 欧美色综合影院| 国产999精品久久久久久| 中文字幕视频一区视频二区| 国产成人精品午夜福利| 97久久精品不卡| 色噜噜狠狠色综无码久久合欧美| 五月婷婷基地| 人妻夜夜爽天天爽麻豆三区网站 | 97在线免费观看| 国产剧情在线| 国产成年女人免费视频播放a| 欧美黄片欧美黄片xxx| 91久久99久久91熟女精品| 97香焦色区| 男人天堂免费| 91精品人| 91狼人| 欧美黑人与女人91~| 亚洲男人天堂视频| 国产精品不卡一区二区三区av| 乱伦av.com| 天天综合网~69| 天天色踪合| 蜜臀久久99精品久久久久久无删减 | 欧美日韩999| 伊人精品视频| 亚洲日韩电影| 国产动漫操逼视频| 久久伦理视频久久大香蕉视频| 欧美 亚洲精品首页| 亚洲天堂中文字| 亚洲伊人久久精品狠狠在线| 一本久久久精品| 久久无码成人| 97亚洲资源| 久久精品店| 欧美特大黄一级片片免费| 中文字幕丝袜人妻| 97香蕉网| 久久久九97| 激情小说激情视频| 日本护士高潮| 97久久国产亚洲精品超碰热| 一本色道久久天天射天天干| 色999人与兽| 国产丝袜啪啪| 97人人干| 久热热| 丁香五月天堂网| 热久久无毒不卡| 18禁的网站在线| 欧美成人色| 国产综合在线视频网站| 裸模AV女优| 成年人黄色视频免费| 天天躁狠狠躁av| 亚洲激情视频| 精品丰满人妻一区二区三区免费观| 欧美96交| 爱射综合| 亚洲性天堂| 另类视频在线| 99热在线播放| 久操99| 激情小说在线视频| 色鬼在线综合| 九九精品无码专区免费| www.AV有限公司一区| 日韩中文字幕国产| 国产免费久久精品99re韩国| 污污汅18禁网站在线永久免费观看| m欧洲一级午老| 色色色色日本| 国产suv精品一区二六| 亚洲欧美日韩夜夜| 男人的天堂va在线| 清纯唯美激情四射| 91在线超高颜值国产| a片亚洲一本通视频| 亚洲二区精品在线观看| 偷拍99| 亚洲美乱| 青娱乐欧美激情一区二区| 欧美日韩国产人人| 丁香五月天堂| 亚洲一区日韩精品中文字幕| 97 九色| 欧美一级做a爰片免费视频| 加勒比aⅴ| 精品美女在线视频| 乱伦日本色图AⅤ| 日日夜夜骑| 欧美激情欧美精品| 日韩黄色一区二区三区| 啊啊啊啊操死我| 黄色不卡视频| 五月婷婷无码| 特级特黄一级毛片免费| 欧美精品不卡一二三四在线91| 亚洲另类综合欧美| 欧美黄片免费在线观看视频| 日本不卡一二区| 97久久精品国产| 操逼逼无码| 欧洲黄色网| 麻豆色约约| 97超碰天天爱天天爱| 国产吞精a级片激情电影| 国语av狠狠色丁香婷婷综合激情| 91久久久久久久| 人人喜人人妻| 1769精品一区二区三区| 国产 亚洲 一二三四| 超碰97久| 九九九热精品| 欧美狠狠操| 99热思思| 男人的天堂一区三区| 亚洲国产成人精品久久久国产成人一区二区 | 精品176精品2| 国产欧美日韩在线观看麻豆传媒公司| 综合久久久久久久综合网| 久9无限国产| 超碰是碰在线观看| 日韩激情视频| 国产欧美伊人| 91chinese在线| 国产成人欧美一区二区三区的国产| 97碰久久| 久久这里只精品| 久湿久久| 96国产污污污丝袜| 日韩中文字幕熟妇人妻| 少妇二级| 人人摸人人干| 综合啪啪| 亚洲AV永久无码一区仙野| 91艹B视频| 国产av激情无码久久天堂| 亚洲另类春色| 热热色91| 免费观看一区| 亚洲天堂男人网| 97亚洲色图| 超碰导航97| 久肏视频字幕| 色噜噜狠狠色综无码久久| 鸥美极品| 中文一区二区| 九九九九九九九| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 国产精品秘 福利姬在线观看| 伊人9| 人妻激情在线视频| 日日日骚女人精品| 人妻爽爽啪视频| 亚州春色| 青青草中日韩在线| 狠狠操狠狠燥| 91操熟女视频 | 乱伦强奸区日韩| 亚洲天天综合| 日本人妻丰满熟妇久久久久久| 亚洲国产精品无码AV久久| 五十路熟女人妻一区二区在线观看 | 国产女人和拘做爰视频| 在线a v| 国产色精品午夜大片| 日本五十路熟女一区二区| 美中日韩无码| 欧美 亚洲 偷拍自拍| 色色操| www.四虎在线| 中文字幕78| 91伊人久久在线| 蜜桃香蕉久草精品在线| 亚洲 欧美 色图| 综合伊人网12色| 岛国视频一二三区| 久久精品三级影视| 天天欧美欧美亚洲网| 一及黄久一点| 国产熟女自拍| 欧洲综合色图| 国产二区视频在线观看电影| 国产女性无套 免费观看| h在线看免费版在线看| 97欧美精品综合| 97超碰中文| 精品人妻一区二区三区在线视频不卡| 熟女激情综合网| 美國A片| 黄色AV影视| 二三四区精品| 熟妇女伦乱视频| 国产女人高潮嗷嗷嗷叫小说 | 精品久久久不卡一区二区| 插插综合网天天影视网| 久久在线观看免费视频| 日本操BAV| 91 丝袜在线| 极品出轨视频网站| 亚洲国产成人精品999| 久久香蕉综合一本到3atv| 日韩丝袜人妻AV| 色777999综合| 免费中文综合精品| 91丨九色丨43老版熟女| 97精品综合久久网| 男人天堂2017| www…国产操逼| 97日视频| 国产呦精品系列在线观看| www.人人cao| 精品999日本| 一起草高清无码| 亚洲欧美中文日韩视频中国语| 神马午夜久久久| 丝袜AV一区二区三区| 精品中文字幕一区二区l - 百度| 天天综合网91入口| 亚洲欧洲激情卡通另类文学四射小说网站 | 91亚·色| 欧美色九九| 国产麻豆福利av在线播放| 欧美激情视频一区二区三区不卡| 人妻少妇精品久久久久久| 丰满人妻一区二区三区四区| 美日韩一卡二卡三卡免费人妻精品| 91欧美www| 探花一区在线| 天美传媒av一区二区| 无码精品久久| 91日日| 秋霞午夜成人福利片片| 屌逼传媒| 97亚洲在线| 久久色情| 老熟女天天操| 久久婷婷亚洲| 综合熟妇一区二区三区| 亚欧高清在线| 搡老女人老91妇女熟女| 强奸乱伦资源| 嫩草黄页| 国产激情在线| 99精品无码| 无套内射性感少妇视频| 中出91视频| 五月丁香综合激情| 欧美亚洲首页| 久久香蕉国产传媒一区剧情天美| 91精品人妻一区二区三区蜜臀| 国产成人综合网| 国产熟女一区二区| 防屏蔽在线视频| 91老女人| 91撸色网 玖玖网 欧美| 国产成人 综合亚洲 天堂| 日韩av色图综合| 搞中出久久| 老女人91| 人人摸人人干| 久久天堂| 国产精品熟女九九九| 国产网红精品| 午夜福利 成人 91| 999狠狠综合| 偷拍 欧美 日韩| 日本人妻天堂网站在线播放| 精品欧美日韩在线观看| 四虎884| 亚洲精品国产精品乱码不卡| 97最新在线播放视频| A一级色女| 黄色电影在线播放综合网站 | 亚洲人体视频在线观看| www.91欧美| 久久6热视频免费观看| 亚洲女优有码无码高清| 天天日少妇逼AV| 草草草视频在线免费看| 超碰1997| 色色五月天婷婷| 欧美日韩国产成人高清| 亚洲视频二区| 欧洲色| 亚洲国产欧美一区二区潘金莲 | 久99久视频| 91综合在线| 欧美精品三区| 志村玲子视频一区二区| 人妻一二三区| 成人无码欧美一级A片狼牙直播| 亚洲欧洲美腿丝袜| 404操逼福利视频| 日本综合色图| 后入式视频国产自| 神马精品视频| 亚洲一卡2卡3卡4卡乱码网站| 91高潮| 劲爆欧美人妖三区91| 67914亚洲精品| 欧美日本中字另类在线| 99re在线| 91在线丝袜| 久久偷拍人| 色情五月婷婷| 色官网色综合| 免费岛国一级片| 久久99久久99精品天美传媒棢·纸:. | 天堂av最新电影网| 绯色AV粉色AV蜜臀AV| 日本色婷婷| 欧美另类精品xxxx| 久久大黄片| 自拍啪啪视频| 日影院久久婷婷夜夜网| 日本久操视频| 天天肏夜夜肏| 亚洲日韩美国人妻| 国产91影院| 91亚洲网站| 亚洲国产中文字幕| 天美精品一区二区三区四区在线观看| 日日夜夜干| 国产无马av| 欧美成人一级免费电影| 国产精品免费1区2区视频| 97这里有精品| 91蜜桃传媒精品久久久一区二区| 亚洲第91页 | 2017,超碰| 日韩色图 一区二区| 在线观看视频91| 美日韩一卡二卡三卡免费人妻精品| 色九九综合| 精品一区二区亚洲国产| 午夜偷拍久久熟女| 国产日韩精品人妻久久久久色欲网站 | 91超级碰碰碰| 深田咏美亚洲精品福利社| 天天操夜夜嗨| 岛国免费黄色网址| 国产女同视频在线播放| 男女日B国产| 成人免费性爱视视| 丰满人妻一区二区三区色-百度| 超碰久超碰久| 久久久久白虎| 国产成人五月天丁香花| 99少妇| 久久精品店| 亚洲毛片基地专区| 九九九九热| 午夜精品久久一区二区| 国产呦精品系列在线观看| 久操97| 日本潮催一卡操| 51国产午夜精品视频| 亚洲 欧美 精品专区 极品| 日产操逼| 影音先锋少妇| 性色av蜜臀av色欲aV| 激情综合二| 国产精品无码AV网站| 99热99色| 欧美黑人猛交春色影视大全| 国产精品久久久久久夜夜夜| 欧美久久婷婷| 亚州男人的天堂| 色噜噜人妻av中文字幕| 欧美性性性| 粉嫩av在线| 一中国女人毛片水真多| 欧美精品成人在线播放| 被体育老师抱着c到高潮| 欧美久热| 亚洲情色一区三区| 天美传媒av一区二区| 天天影视91看看| 91亚洲网| 亚洲第一狼人丝袜美女另类| 亚洲乱熟女一区二区三区大香蕉| 国产原创自拍| 老熟妇综合| 成人AV在线网站| 色激情综合网站| 国产51色综合久久免费| 国产日比| 三级网站超变态精品| 黄站在线免费观看| 国产精品视频内谢女人| 久久综合资源一区二区| 大香蕉啪啪网| 久草毛片电影怡| 三及片网站| 伊人久久在线视频观看| 国产一级片| 夜夜人妻爽| 9118禁| 国产三区免费在线观看| 久久国产三区| 欧美综合 站| 翔田千里AV无码秘 三区| 亚州乱码中文字幕综合久久久| 亚洲五月天激情| 1024亚洲中文字幕久在线看片你懂的 | 午夜毛片亚洲精品片国产久久久| 亚洲欧洲综合成人av一区| 久久婷婷五月综合| 日本精品免费一区二区三区四区| 日本幼女18+| 天天操天天射天天日| 婷婷五月色| 亚洲drav色图| 大香蕉乱级| 亚洲精品男人的天堂| 97精品中文字幕| 欧美福利视频啊啊啊啊| 激情综合久久| 青青草字幕AV| 久久在线观看免费视频| 精品久热| 欧美亚洲高清晰| 九月丁香婷婷色| 中文字幕加勒比海高清无码免费视频| 亚洲九九视频| 色情乱伦AV| 99国产精品久久久在线播放| 东京热男人的天堂| 丁香五月天视频| 97国产精选| 久久精品国产亚洲AV嘿嘿| 国产又大又粗又长视频在线| 玖玖爱影院| 亚洲精品99| 国产麻豆91欧美一区二区久久婷婷国产精品| 久久精品日韩| 口爆欧美91| 天天看夜夜看日日干| 97超碰jingpin| 一二三区精品视频| 亚洲操人| 国产精品另类| 日韩一级片| 国产尤物在线三区| 韩国一级做A片免费的| 99re热| 欧美强奸一区二区诱惑| 中文字幕伊人| 97欧美性爱| 夜夜嗨老熟女AV一区二区三区| 高跟丝袜AV专区国产| 国产第11页| 操逼无码一区| 另类专区加勒比| 欧美一级黄片免费播放| 91男女| 日韩中文字幕二区| 亚州欧美另类| 天综合网| 免费观看日本操逼视频| 台湾佬中文娱乐自偷自拍| 女人天堂av在线播放| 大鸡巴久久久| 日韩无码视频黄色| 丰满少妇高潮无码| 可以在线观看的黄色网址| h色99999| 婷婷五月天久久久| 久一区久久蜜桃| 大香蕉免| 激情国产乱伦Av| 顶级丝袜熟女一区二区三区| 极品AV网站在线观看| 深夜激情无码| 大奶的诱惑| 一及黄久一点| 日本激情免费大片| 东北女人性交| 99re6国产精品99re在线| 为用户提供免费看黄网址在线观看| 校园春色亚洲无码| 亚洲av乱伦色图网站| 91亚洲在线| 日日夜夜噜| 久久老子无码午夜伦不卡| 欧美性爱一区二区三区| 色诱中文字幕| 国产色呦呦| 亚洲毛片基地专区| 97视频620| 99超级碰免费视频| 国产亚洲色停停久久99精品91| 国产精品久久久久久久久久久久久久久久 | 久草尤物| 激情四射婷婷六月天| 91美女中出| 国产日产精品久久快鸭的功能介绍| 天堂av最新电影网| 天天摸夜夜摸| 日韩一级欧美一级在线观看| 欧美色网| 亚洲男人天堂视频| 国产天天骚| 秋霞欧美性爰视频| 国产精品高潮呻吟av久久4虎| 俺也射| 欧美久久婷婷| 99在线精品视频| 强奸乱伦AV网站| 亚洲国产熟妇综合色专区| 日本免费一区二区不卡| 久久久9视频| 精品国产肉丝袜在线拍国语| 丰满美女一级毛片在线播放| 国产精品另类| 成熟熟女国产精品一区二区 | 超碰97人妻| 亚洲精品97p| 欧美中字二区| 东京热激情视频一二三区| 欧美日韩在线国产在线| 久久性爱视频免费看| 人妻另类| 超碰在线1234区| 69人妻精品丰满熟女区| 国产按摩一区二区三区| 爱av免费| 无码WWW免费视频网站| 亚洲日韩在线a不卡99精品 | 欧美综合骚| 六月丁香久久| 久久久久久精品免费看A级| 国内亚洲高清无码| www.男人的天堂| 亚州,欧美在线| 啊嗯嗯啊好大好爽| 97 九色| 国产熟妇一区二区| 亚洲AV乱码专区国产噜噜亚洲 | 性欧美| 亚洲一二三四区在线免费看视频| 神马午夜久久久| 亚洲美欧999| 天天操女人| 青草青青久久久久久国产| 九九色色| 丁香六月天| 91丨九色丨东北熟女| 色色色色网站| 曰韩av中文字幕专区| 精品区国产区一区二区三区| 日本色色色视频| aaaa少妇高潮大片| 人妻中文字幕日韩电影| a v网站在线播放| 午夜福利免费福利视频| 操高情无码| 强奸乱伦Av网| 在线可观看的黄色网址| 51一区二区三区| 天天做日日爱夜夜爽| 日韩成人性爱电影在线播放| 九九黄色视频在线观看| 91啪啪视频| 欧美成人都市人妻| 中文字幕二区日韩天堂| 天天操av懂色| 亚洲精品天天影视综合网| 青草香蕉网| 成人久久久精品| 蜜桃网熟妇| 色噜噜国产精品视频一区二区|