99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

數(shù)據(jù)庫核心知識:從存儲原理到SQL優(yōu)化與安全防御

數(shù)據(jù)庫核心知識:從存儲原理到SQL優(yōu)化與安全防御 數(shù)據(jù)庫這名字聽著唬人但拆開看其實特別樸素——它就是個存數(shù)據(jù)的地方。真正讓數(shù)據(jù)庫和 Excel 拉開差距的是它背后那一整套關(guān)于“怎么存、怎么取、怎么保證不錯不亂”的規(guī)則。我這些年帶過不少新人發(fā)現(xiàn)很多人一上來就背 SQL 語法SELECT、INSERT 用得飛起但真要問他“為什么這張表建了索引查詢反而變慢”“為什么 count(*) 和 count(1) 結(jié)果不一樣”就開始含糊了。這篇文章我想從最底層的數(shù)據(jù)存儲邏輯講起一路打通 SQL 分類、索引原理、慢查詢優(yōu)化再到注入防御和面試題基本覆蓋你從入行到獨立干活需要搞清楚的那點事兒。適合剛學(xué)完基礎(chǔ)語法、想系統(tǒng)梳理數(shù)據(jù)庫知識體系的讀者也適合準備面試前回頭補課的朋友。1. 先建立直覺數(shù)據(jù)庫到底在解決什么問題1.1 關(guān)系型數(shù)據(jù)庫的底層邏輯你完全可以想象數(shù)據(jù)庫是一排排帶編號的文件柜每個柜子是一張表柜子里的每個抽屜是一行記錄每個抽屜里分了幾格分別放姓名、年齡、手機號。關(guān)系型數(shù)據(jù)庫RDBMS的核心就是用“二維表”這種結(jié)構(gòu)來描述現(xiàn)實世界里的實體和實體之間的關(guān)系。你有一個用戶表一個訂單表訂單表里存了 user_id通過這個字段就能把“誰買了什么東西”串起來這就是“關(guān)系”兩個字的本意。那為什么這種結(jié)構(gòu)能統(tǒng)治數(shù)據(jù)庫世界幾十年因為它天生契合業(yè)務(wù)場景。絕大多數(shù)企業(yè)的核心數(shù)據(jù)——訂單、庫存、賬目、會員——都是強結(jié)構(gòu)化的每條記錄字段固定、類型明確、依賴關(guān)系清晰用表格存就是最自然的選擇。MySQL、PostgreSQL、SQL Server、Oracle還有國產(chǎn)的人大金倉、達夢都屬于這個陣營。它們共享同一套理論根基表、行、列、主鍵、外鍵、索引、事務(wù)、ACID。這里有個關(guān)鍵認知要建立數(shù)據(jù)庫的價值不在“存”而在“查”。一張表存一萬條數(shù)據(jù)和存一萬個 Excel 文件如果只考慮離線保存差別其實不大。真正的差異是——當(dāng)你要從幾百萬行里找出“上個月下單超過三次的用戶”時關(guān)系型數(shù)據(jù)庫通過索引、查詢優(yōu)化器、執(zhí)行計劃這套機制能把這個操作從分鐘級壓縮到毫秒級。這就是它存在的意義。1.2 數(shù)據(jù)庫的世界里不只有關(guān)系模型不過要只是關(guān)系型數(shù)據(jù)庫一家獨大今天這篇文章也不用寫這么長。這幾年你肯定聽過 NoSQL、向量數(shù)據(jù)庫、時序數(shù)據(jù)庫這些詞。它們不是來取代關(guān)系型數(shù)據(jù)庫的而是來解決關(guān)系型數(shù)據(jù)庫不擅長的問題。比如 TDengine做物聯(lián)網(wǎng)和工業(yè)時序數(shù)據(jù)監(jiān)控的每秒要寫入幾十萬條設(shè)備上報數(shù)據(jù)按時間戳順序追加寫入查詢也基本是“最近五分鐘的平均溫度”這種范型。你硬要用 MySQL 去扛不是不行但會非常吃力因為 MySQL 的 B 樹索引和事務(wù)機制在這種高并發(fā)順序?qū)懭雸鼍跋麻_銷太大。還有向量數(shù)據(jù)庫專門給 AI 應(yīng)用做相似度檢索用的它處理的是“哪句話和這句話意思最接近”這種非精確匹配查詢。SQLite 則是嵌入式場景的王者就一個 .db 文件不需要安裝服務(wù)端手機 App 本地緩存、瀏覽器存儲都在用它。所以我現(xiàn)在看一個項目第一反應(yīng)不是“用什么數(shù)據(jù)庫”而是“這個業(yè)務(wù)的數(shù)據(jù)長什么樣、怎么讀寫、對一致性要求多高”。關(guān)系型、時序型、文檔型、向量型各管一攤組合使用才是常態(tài)。2. SQL 分類五大門類理清楚增刪改查只是入門2.1 DDL 與 DML表結(jié)構(gòu)的“圖紙”和數(shù)據(jù)的“施工”SQL 按功能分成五類這個體系是面試高頻但很多干了兩年的人還是說不全。我按重要程度一個個過。DDLData Definition Language數(shù)據(jù)定義語言管的是表結(jié)構(gòu)的生命周期。CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE全在這里面。這類語句有個特點執(zhí)行后直接修改數(shù)據(jù)庫的元數(shù)據(jù)影響的是“表長什么樣”而不是“表里有什么”。我以前見過一個新手直接在生產(chǎn)庫執(zhí)行 DROP TABLE恢復(fù)花了兩小時從那之后我定了個死規(guī)矩所有 DDL 操作必須經(jīng)過審批且先在測試環(huán)境跑一遍。DMLData Manipulation Language數(shù)據(jù)操縱語言就是我們天天掛在嘴邊的 INSERT、UPDATE、DELETE、SELECT 里的前三個——嚴格來說 SELECT 被歸為 DQL但日常沒人分這么細。DML 操作的是實際數(shù)據(jù)行是業(yè)務(wù)代碼里最常用的語句。這里有個特別重要的點DML 操作是可以回滾的前提是在事務(wù)里且還沒提交。而 DDL 在大多數(shù)數(shù)據(jù)庫里執(zhí)行后是沒法回滾的——MySQL 的 DDL 內(nèi)部會觸發(fā)隱式提交這意味著你執(zhí)行 ALTER TABLE 的那一刻前面所有未提交的事務(wù)都自動提交了。這個坑我踩過一次批量更新數(shù)據(jù)到一半想反悔結(jié)果發(fā)現(xiàn)之前的操作已經(jīng)被連坐提交了。關(guān)于 DDL 還有個小細節(jié)值得記住TRUNCATE 和 DELETE 表面都是清空表但 DELETE 是逐行刪除會記錄行日志可以配合 WHERE 條件刪一部分也能在事務(wù)里回滾TRUNCATE 是直接釋放整個表的數(shù)據(jù)頁速度快得多但是不可回滾也不觸發(fā)刪除觸發(fā)器。所以清理大表用 TRUNCATE秒級完成業(yè)務(wù)上刪數(shù)據(jù)必須用 DELETE 加 WHERE。2.2 DQL 的核心價值查詢不只是 SELECTDQLData Query Language就一個關(guān)鍵字——SELECT但它是最值得花時間深挖的部分。SELECT 的完整執(zhí)行順序很多人不知道先 FROM 確定表再 WHERE 過濾原數(shù)據(jù)再 GROUP BY 分組再 HAVING 過濾分組結(jié)果再 SELECT 投影取列再 DISTINCT 去重最后 ORDER BY 排序LIMIT 截斷。如果你腦子里沒有這個執(zhí)行鏈路寫復(fù)雜嵌套查詢時很容易寫出邏輯錯亂的 SQL。順帶講一個幾乎所有新人都會問的問題DISTINCT 和 GROUP BY 都能去重到底用哪個答案是能 GROUP BY 就別用 DISTINCT。DISTINCT 是對結(jié)果集做去重它必須把所有數(shù)據(jù)先撈出來才能判斷重復(fù)GROUP BY 是先分組再聚合配合 COUNT、SUM 這類聚合函數(shù)能順手統(tǒng)計信息。舉個例子查訂單表里所有出現(xiàn)過的用戶 ID兩種寫法都對-- 寫法一DISTINCT SELECT DISTINCT user_id FROM orders; -- 寫法二GROUP BY可以同時帶統(tǒng)計數(shù)量 SELECT user_id, COUNT(*) AS order_cnt FROM orders GROUP BY user_id;還有個更隱蔽的坑DISTINCT 去重是精確匹配判斷不了“重復(fù)值里只保留一條”這種業(yè)務(wù)規(guī)則。比如你想去掉同一用戶 ID 下的重復(fù)訂單只保留最新一條DISTINCT 完全無能為力。這時候要用窗口函數(shù)。我在第四節(jié)里會專門給出去重實戰(zhàn)的高階寫法。DQL 里還有個概念必須搞清楚SELECT 執(zhí)行結(jié)果的“邏輯順序”和“物理順序”是兩回事。不加 ORDER BY 時MySQL 返回的行順序是存儲引擎決定的——它可能看起來是按主鍵排的也可能不是。你永遠不該依賴“默認順序”做業(yè)務(wù)邏輯。這是我排查過很多次“為什么這段查詢時靈時不靈”之后得出的血淚結(jié)論。2.3 DCL 與 TCL權(quán)限和事務(wù)看起來無用實則保命DCLData Control Language是管權(quán)限的GRANT、REVOKE。大多數(shù)開發(fā)同事覺得這是 DBA 的事自己碰不到。但你要有最起碼的認知生產(chǎn)環(huán)境的數(shù)據(jù)庫賬號永遠不該給一個超級權(quán)限的 root應(yīng)用賬號應(yīng)該只擁有所在庫的 SELECT、INSERT、UPDATE、DELETE 權(quán)限。前兩年有個同事誤操作刪了線上的配置表檢查完發(fā)現(xiàn)他用的是 root 連接因為本地開發(fā)環(huán)境一直這么干切到生產(chǎn)順手也這么連了。這不是技術(shù)問題這是安全意識問題。TCLTransaction Control Language更核心——它管的是 COMMIT、ROLLBACK、SAVEPOINT。讀這一節(jié)的人應(yīng)該都知道事務(wù)有四大特性 ACID原子性、一致性、隔離性、持久性。但光知道名字沒用你得理解為什么需要隔離性。兩個事務(wù)同時改同一行數(shù)據(jù)到底聽誰的數(shù)據(jù)庫用鎖和隔離級別解決這個問題。MySQL InnoDB 默認是 REPEATABLE READ可重復(fù)讀在這個級別下事務(wù)內(nèi)重復(fù)讀同一行結(jié)果是穩(wěn)定的但也因此可能產(chǎn)生幻讀——事務(wù) A 查詢某個范圍的記錄事務(wù) B 插入了新記錄事務(wù) A 再查時發(fā)現(xiàn)多了一行“幻影”。生產(chǎn)業(yè)務(wù)里如果需要防止幻讀得用 SERIALIZABLE 級別或者加間隙鎖。實操上最容易犯的錯誤是寫了 UPDATE 或 DELETE 但忘了 COMMIT尤其在命令行客戶端或者沒開自動提交的代碼里。我曾經(jīng)見過一個服務(wù)因為事務(wù)沒提交把某個熱門訂單表鎖了十分鐘線上告警響成一片。所以我的習(xí)慣是任何對數(shù)據(jù)產(chǎn)生修改的操作第一時間寫 COMMIT或者用代碼框架的聲明式事務(wù)強制統(tǒng)一提交。3. 索引、事務(wù)與慢 SQL從“能跑”到“跑得快”3.1 為什么 SQL 會慢索引失效場景復(fù)盤查詢慢百分之八十和索引有關(guān)。索引的原理說白了就是給表建一個排序好的“目錄”InnoDB 里用的是 B 樹。B 樹的葉子節(jié)點通過雙向鏈表連接所以按范圍查“age BETWEEN 20 AND 30”非??臁ㄎ坏降谝粭l然后沿著鏈表往后掃就行。但索引不是萬能的很多操作用不上索引。我隨手列幾個高頻失敗場景都是我實際踩過或看別人踩過的對索引列做了函數(shù)運算或隱式類型轉(zhuǎn)換WHERE DATE(create_time) 2024-01-01這種寫法會讓索引失效應(yīng)該改成create_time 2024-01-01 AND create_time 2024-01-02。前置模糊查詢LIKE %keyword%百分號在開頭整個索引沒法用LIKE keyword%就能走索引。聯(lián)合索引沒遵守最左前綴原則建了(user_id, status)聯(lián)合索引只查status就跳過了 user_id索引用不上。對索引列做操作WHERE id 1 5這種會把索引廢掉要改成WHERE id 4。排查慢 SQL 的第一件事永遠是看執(zhí)行計劃。MySQL 里執(zhí)行EXPLAIN SELECT ...輸出結(jié)果里有幾個關(guān)鍵字段要看type訪問類型從好到差依次是 system、const、eq_ref、ref、range、index、ALL、key實際用到的索引、rows預(yù)估掃描行數(shù)。如果 type 是 ALL 且 rows 很大那就是全表掃描優(yōu)化方向很明確加索引或者改寫 SQL。3.2 慢 SQL 優(yōu)化先定位再動手優(yōu)化慢 SQL 的邏輯是“先定位再動手”上來就改 SQL 是亂開槍。生產(chǎn)環(huán)境開慢查詢?nèi)罩景褕?zhí)行時間超過 1 秒的語句撈出來-- MySQL 開啟慢查詢?nèi)罩?SET GLOBAL slow_query_log ON; SET GLOBAL long_query_time 1; SET GLOBAL slow_query_log_file /var/log/mysql/slow.log;撈出來之后逐個分析。除了加索引之外最常見的幾板斧是**避免 SELECT ***只取需要的列。這樣能減少 IO 和網(wǎng)絡(luò)傳輸如果覆蓋了索引還能避免回表查詢。分頁優(yōu)化LIMIT 100000, 20這種深分頁越往后越慢因為數(shù)據(jù)庫要掃前十萬行再丟掉。優(yōu)化方法是改成“基于上一頁最后一條記錄的主鍵繼續(xù)往后取”WHERE id 100000 ORDER BY id LIMIT 20效率天差地別。JOIN 時小表驅(qū)動大表讓小的結(jié)果集作為驅(qū)動表去匹配大的表配合正確的連接字段索引能大幅減少中間行數(shù)。避免在 WHERE 子句里做計算把可預(yù)計算的內(nèi)容在應(yīng)用層算好傳給 SQL 做等值查詢。還有一個容易忽略的優(yōu)化點分析表數(shù)據(jù)分布考慮是否真的需要關(guān)系模型。比如一個日志表一天漲幾百萬行做報表時只要按時間聚合那用日志表加按月分區(qū)的方案就比在 MySQL 里硬扛合理得多。MySQL 8.0 對分區(qū)表有不少改進但要提前判斷業(yè)務(wù)需求再設(shè)計分區(qū)鍵分區(qū)鍵選錯等于白折騰。這里還是得提一句你在查找資料時可能總看到“sql server writelog”這個詞。SQL Server 的 Write Log 機制先寫事務(wù)日志再寫數(shù)據(jù)頁和 MySQL InnoDB 的 redo log WAL 是同一個思想——先把變更順序地、低成本地記到日志文件再去異步刷新數(shù)據(jù)頁。理解了這個你就能明白為什么數(shù)據(jù)庫重啟后不會丟數(shù)據(jù)為什么寫入性能比直接改數(shù)據(jù)文件高。這套“先記日志再動手”的思路是數(shù)據(jù)庫性能和可靠性之間的核心平衡點。3.3 事務(wù)隔離級別的實際場景說到事務(wù)我再展開一點隔離級別的實戰(zhàn)。SQL 標準定義了四種隔離級別隔離級別臟讀不可重復(fù)讀幻讀READ UNCOMMITTED可能可能可能READ COMMITTED不會可能可能REPEATABLE READ不會不會可能InnoDB 可部分避免SERIALIZABLE不會不會不會臟讀是“讀到別人沒提交的數(shù)據(jù)”一旦對方回滾你讀到的就是無效數(shù)據(jù)不可重復(fù)讀是同一事務(wù)里兩次讀同一行結(jié)果不同因為別的已提交事務(wù)改了這行幻讀是兩次范圍查詢結(jié)果條數(shù)不同。實際業(yè)務(wù)怎么選多數(shù)互聯(lián)網(wǎng)公司用 READ COMMITTED 或 REPEATABLE READ兩者在并發(fā)性和一致性上相對平衡。如果你做金融對賬那數(shù)據(jù)一致性優(yōu)先級最高直接上 SERIALIZABLE用性能換正確性。我遇到過最典型的一個線上事故就是兩個事務(wù)并發(fā)給同一個賬戶余額做扣減因為沒控制好隔離和鎖最終把余額扣成了負數(shù)。解決方案其實很簡單——把“查詢余額、校驗、扣減”放到一個事務(wù)里并且對賬戶行加SELECT ... FOR UPDATE行鎖問題立刻消失。這一行 FOR UPDATE 值一年工作經(jīng)驗真的。4. 實操手冊常見數(shù)據(jù)庫工具與高頻操作4.1 從零搭建 MySQL 環(huán)境說不清為什么總有同事在自己電腦上裝 MySQL 時裝失敗然后來問我。我給你們一套最省心的 Windows 本地安裝法——用免安裝壓縮包。到 MySQL 官網(wǎng)下載 mysql-8.4.x 的 ZIP 包類似 mysql-8.4.11解壓到比如D:\mysql-8.4.11-winx64。然后在這個目錄下創(chuàng)建一個my.ini配置文件最簡配置[mysqld] basedirD:/mysql-8.4.11-winx64 datadirD:/mysql-8.4.11-winx64/data port3306 character-set-serverutf8mb4用管理員身份打開命令行進入 bin 目錄執(zhí)行初始化命令mysqld --initialize-insecure--initialize-insecure會生成一個無密碼的 root 賬號適合本地開發(fā)--initialize則生成隨機密碼在日志里可以找到適合對安全要求高的場景。啟動服務(wù)執(zhí)行mysqld --console看到ready for connections就說明啟動成功。另開一個終端執(zhí)行mysql -u root就能進入。路徑盡量不要帶中文和空格字符集默認 utf8mb4這個一定要設(shè)不然表情符號和生僻字存儲會亂碼。這套流程我前后裝了不下十次踩過的坑全是漏配 basedir、datadir 導(dǎo)致服務(wù)起不來或者路徑帶空格導(dǎo)致 my.ini 解析失敗。4.2 導(dǎo)入導(dǎo)出與日常維護實操中的高頻動作日常開發(fā)中最高頻的三個操作是用 Navicat 導(dǎo)入 SQL 文件、把 Excel 數(shù)據(jù)入庫、對臟數(shù)據(jù)去重。逐個說。Navicat 導(dǎo)入 SQL 文件。很多人直接雙擊 .sql 文件想打開那是錯的。正確姿勢是Navicat 里先建好目標數(shù)據(jù)庫然后右鍵數(shù)據(jù)庫選“運行 SQL 文件”選擇你的 .sql 文件執(zhí)行完成后檢查日志。導(dǎo)入大文件時超過幾百 MBNavicat 容易卡死我的建議是用命令行導(dǎo)入mysql -u root -p dbname file.sql快且穩(wěn)。如果導(dǎo)入過程中報“2008 數(shù)據(jù)庫存疑”類似 SQL Server 的數(shù)據(jù)庫狀態(tài)異常大多是文件損壞、日志不一致或者路徑不對先檢查物理文件是否完整再考慮重建或恢復(fù)。Excel 導(dǎo)入數(shù)據(jù)庫。這也是常用操作用 Navicat 的“導(dǎo)入向?qū)А边x Excel 文件按列映射到目標表字段。要注意Excel 第一行如果放的是中文表頭要選“忽略第一行”日期列要提前在 Excel 里設(shè)置成數(shù)據(jù)庫能識別的格式大文件建議轉(zhuǎn)成 CSV 再導(dǎo)入編碼注意選 UTF-8。如果是純開發(fā)環(huán)境也可以先用工具把 Excel 轉(zhuǎn)成 INSERT 語句再執(zhí)行腳本——但生產(chǎn)環(huán)境不建議這么干寧可走正式的導(dǎo)入通道。SQL 去重實戰(zhàn)。我記得熱詞列表里“sql語句去重”“清洗---sql語句去重”出現(xiàn)了多次說明這是普遍痛點。去重有三層境界第一層查出去重后的數(shù)據(jù)。用 DISTINCT 或 GROUP BY。第二層刪除表里重復(fù)行只保留一條。MySQL 里經(jīng)典寫法是DELETE t1 FROM your_table t1 INNER JOIN your_table t2 WHERE t1.id t2.id AND t1.dup_key t2.dup_key;這里利用了自連接找出同組重復(fù)里 id 較大的行刪掉。執(zhí)行前務(wù)必先 SELECT 驗證要刪除的行數(shù)SELECT t1.* FROM your_table t1 INNER JOIN your_table t2 WHERE t1.id t2.id AND t1.dup_key t2.dup_key;第三層需要“每個用戶保留最新一條記錄”這種業(yè)務(wù)去重用窗口函數(shù) ROW_NUMBER()WITH ranked AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY create_time DESC) AS rn FROM orders ) SELECT * FROM ranked WHERE rn 1;這條 SQL 在 MySQL 8.0、SQL Server、PostgreSQL、Oracle 里都通用。它的邏輯是按 user_id 分組組內(nèi)按 create_time 倒序編號編號為 1 的就是每組最新那條。這個寫法也是我面試候選人時最愛考的一道題能獨立寫出來的SQL 基本功一般都不差?!皵?shù)據(jù)庫同步軟件”這類工具在熱詞里也出現(xiàn)過。如果你需要把生產(chǎn)庫實時同步到分析庫或者做災(zāi)備常見方案有 MySQL 主從復(fù)制、基于 binlog 的 canal 同步或者商業(yè)的同步工具。核心原理都是解析數(shù)據(jù)庫的增量日志binlog/redo log把這些變更操作在目標庫上重放。需要提醒的是主從復(fù)制不保證實時一致有延遲兩邊表結(jié)構(gòu)必須一致否則同步會中斷報錯。我見過最業(yè)余的失誤是在主庫改了表結(jié)構(gòu)忘記在從庫同步執(zhí)行導(dǎo)致整個同步鏈路宕了兩小時。4.3 工具選型從命令行到圖形界面工具這塊我的建議是“命令行能力必須會圖形界面用來提效”。命令行是通用語言到哪臺服務(wù)器都能用Navicat、DBeaver 這類工具則讓你快速看表結(jié)構(gòu)、導(dǎo)數(shù)據(jù)、跑查詢。常見工具分類我列個表工具類型適用場景mysql / psql / sqlcmd官方命令行服務(wù)器運維、腳本執(zhí)行、快速復(fù)查Navicat / DBeaver圖形客戶端日常開發(fā)、數(shù)據(jù)導(dǎo)入導(dǎo)出、表結(jié)構(gòu)設(shè)計DataGrip圖形客戶端復(fù)雜 SQL 編寫、多數(shù)據(jù)庫統(tǒng)一管理Flyway / Liquibase版本管理數(shù)據(jù)庫結(jié)構(gòu)變更納入 Git 管理dbx文件型工具SQLite 等嵌入式數(shù)據(jù)庫的快捷管理順帶提一嘴“dbx數(shù)據(jù)庫工具”這個熱詞它一般指針對 SQLite 這類文件型數(shù)據(jù)庫的可視化管理工具。SQLite 和我們上面聊的 MySQL 不太一樣它是一個嵌入式的 C 語言庫數(shù)據(jù)庫就是一個 .db 文件很多 App 的本地緩存和瀏覽器的存儲都用它。如果你拿到一個 .db 文件想查看內(nèi)容不要用文本編輯器打開那全是二進制亂碼用 SQLite 的官方命令行工具sqlite3或者 dbx 這類 GUI 工具打開就能像操作普通數(shù)據(jù)庫一樣查數(shù)據(jù)。再說一個熱詞“mybatisplus根據(jù)java實體類生成創(chuàng)建表的sql語句”。MyBatis-Plus 有個能力是內(nèi)置默認的建表 SQL 生成器——根據(jù) Java 實體的字段映射自動拼出 CREATE TABLE 語句。這個對快速開發(fā)有用但生產(chǎn)庫的表結(jié)構(gòu)變更我還是建議走 Flyway 這種遷移工具原因是你需要完整的變更歷史記錄上線后回滾也有依據(jù)?!白詣由伞边m合原型開發(fā)不適合嚴肅的線上環(huán)境。4.4 高頻問題速查表我把平時被問得最多的幾個數(shù)據(jù)庫操作問題整理成一張速查表可以直接收藏問題解決方案MySQL 密碼有效期怎么查執(zhí)行SHOW VARIABLES LIKE default_password_lifetime;MySQL 8.0 是password_reuse_interval相關(guān)的策略給用戶設(shè)置永不過期用ALTER USER userhost PASSWORD EXPIRE NEVER;執(zhí)行 SQL 腳本怎么帶庫名mysql -u root -p -D dbname script.sql-D指定默認數(shù)據(jù)庫人大金倉數(shù)據(jù)庫怎么跑 Docker官方鏡像一般是docker run -d --name kingbase -e SYSTEM_PASSWORDxxx -p 54321:54321 kingbase/k8s用 ksql 連接驗證sw 安裝時顯示 SQL 安裝失敗多半是系統(tǒng)缺少 Visual C 運行庫或本機已有沖突的 SQL Server 組件先裝 VC redistributable再清理舊實例后重試修改 MySQL 表結(jié)構(gòu)ALTER TABLE table_name ADD COLUMN col_name INT;/MODIFY COLUMN .../DROP COLUMN ...SQL Server 2008 R2 數(shù)據(jù)庫“存疑”檢查 .mdf/.ldf 文件權(quán)限、磁盤空間然后執(zhí)行ALTER DATABASE dbname SET ONLINE;Excel 入庫后中文亂碼CSV 文件導(dǎo)入時選 UTF-8 編碼或者把 Excel 另存為 CSV UTF-8 格式再導(dǎo)這張表解決的是“下次遇到不要再找我”系列問題。每個我都在實際工作中或幫同事排查時驗證過。5. SQL 注入與防御懂攻擊才能寫好防御代碼5.1 注入攻擊的原理一句話把驗證繞過去熱詞里有“sql注入”“sql注入萬能密碼繞過”這塊確實值得仔細講。SQL 注入的本質(zhì)是——用戶輸入的數(shù)據(jù)被當(dāng)成了 SQL 代碼的一部分去執(zhí)行。最經(jīng)典的例子就是萬能密碼繞過假設(shè)登錄邏輯是String sql SELECT * FROM users WHERE username username AND password password ;如果用戶名輸入admin --密碼隨便填拼出來的 SQL 變成SELECT * FROM users WHERE usernameadmin -- AND passwordxxxMySQL 里--后面是注釋后面的密碼校驗直接被忽略等于只用用戶名就完成了登錄。這是最老套但依然有效的攻擊思路。更危險的版本是 OR 11 --它會讓 WHERE 條件恒為真直接查出整張用戶表。我在學(xué)習(xí)這個知識點的時候用的是 BWAPPBuggy Web Application靶場里面內(nèi)置了幾十個 SQL 注入測試場景從低難度到高難度都有。還有 CTF 比賽里類似“swpuctf 2021 新生賽 sql”這類題目解題思路基本都是從參數(shù)點注入 payload依次嘗試閉合引號、注釋、聯(lián)合查詢、報錯注入等方式最終拿到 flag。這些靶場和題目是安全學(xué)習(xí)非常寶貴的練習(xí)材料——原因很簡單不了解攻擊手法的人寫不出真正安全的代碼。5.2 防御的核心預(yù)編譯與參數(shù)化防御 SQL 注入不是靠過濾關(guān)鍵字也不是靠寫復(fù)雜正則最關(guān)鍵的一步是永遠不要手動拼接 SQL 字符串全部用參數(shù)化查詢Prepared Statement。Java 里用 JDBC 和 MyBatis 的#{}PHP 用 PDO 的 preparePython 用 DB-API 的?占位符。核心原理是SQL 語句的骨架先發(fā)給數(shù)據(jù)庫服務(wù)端預(yù)編譯用戶輸入只作為純參數(shù)值傳給服務(wù)端不參與 SQL 語法解析。這樣無論你輸入什么都只是值只是字符串永遠不會變成可執(zhí)行代碼。以 MyBatis 為例同樣一句查詢寫法不一樣安全性天差地別!-- 安全參數(shù)化PreparedStatement -- select idlogin resultTypeUser SELECT * FROM users WHERE username #{username} AND password #{password} /select !-- 危險字符串拼接注入風(fēng)險 -- select idlogin resultTypeUser SELECT * FROM users WHERE username ${username} AND password ${password} /select#{}會生成?占位符走預(yù)編譯${}是直接把字符串拼進 SQL。需要做動態(tài)列名、表名排序時逼不得已才用${}但字段值必須經(jīng)過白名單校驗。順帶說一個平時代碼審計容易忽略的坑LIKE 查詢和 IN 查詢最容易出注入。LIKE %${keyword}%一旦用拼接黑客輸入%還能把整表數(shù)據(jù)都撈出來。正確寫法是用 CONCAT 拼接LIKE CONCAT(%, #{keyword}, %)既安全又性能好。5.3 面試常考的 SQL 題目“sql面試題”也是熱詞。數(shù)據(jù)庫方向的面試題翻來覆去就那么幾類核心考察的是你有沒有真正理解數(shù)據(jù)模型和 SQL 執(zhí)行機制。我整理幾個高頻的查第二高工資SELECT DISTINCT salary FROM employee ORDER BY salary DESC LIMIT 1 OFFSET 1;或者用子查詢WHERE salary (SELECT MAX(salary) FROM employee) ORDER BY salary DESC LIMIT 1。求每個部門的平均工資SELECT dept_id, AVG(salary) FROM employee GROUP BY dept_id;。升級版是要求保留部門名稱那要 JOIN 部門表。用一條 SQL 查出去重后的訂單數(shù)和原始訂單數(shù)SELECT COUNT(*) AS total, COUNT(DISTINCT order_no) AS distinct_cnt FROM orders;。找出連續(xù)登錄三天的用戶這類題用窗口函數(shù) LAG/LEAD 或自連接解法考察對日期處理和窗口函數(shù)的掌握。行轉(zhuǎn)列pivot把不同月份的收入從多行轉(zhuǎn)成多列用 CASE WHEN GROUP BY 實現(xiàn)深度考察 GROUP BY 的理解。面試時把這些題答上來不是終點更重要的是能說清楚每一步為什么這么寫。面試官真正想聽的是你對執(zhí)行計劃、索引選擇、去重邏輯這些底層機制的判斷而不是背出來的語法。我在面試別人時經(jīng)常追問一句“這條 SQL 走沒走索引你怎么驗證”能答出“EXPLAIN 看 type 和 key”的候選人基本可以判斷是有實戰(zhàn)經(jīng)驗的。最后分享幾個我自己的實操體會這篇文章寫完我自己也把知識體系重新捋了一遍。最后想再叮囑幾句都是這些年花錢買來的教訓(xùn)。第一個體會數(shù)據(jù)庫設(shè)計的前瞻性比什么都重要。表結(jié)構(gòu)一旦上線后面每一行業(yè)務(wù)代碼都長在它上面。字段類型、是否允許 NULL、誰做主鍵、要不要預(yù)留擴展字段——這些決策后期改動的成本遠超你想象。我見過最痛苦的重構(gòu)就是把一個用字符串拼接當(dāng)主鍵的表改成自增 ID牽扯了幾百個接口。年輕的時候覺得設(shè)計表結(jié)構(gòu)簡單現(xiàn)在覺得這是整個系統(tǒng)里最需要慎重對待的環(huán)節(jié)。第二個體會慢 SQL 優(yōu)化不是 DBA 一個人的事是每個寫 SQL 的人的事。代碼寫完順手跑一個 EXPLAIN是成本最低的保命操作。我們團隊后來定了一個規(guī)矩任何涉及多表 JOIN 或被高頻調(diào)用的查詢必須附上執(zhí)行計劃截圖才能合并到主干。有了這個約束之后生產(chǎn)環(huán)境的慢查詢數(shù)量肉眼可見地降了下來。第三個體會安全意識和安全意識之上的“安全能力”是兩回事。知道 SQL 注入有危害不算本事能在每一層都堵住漏洞才算。寫代碼的人必須自己會復(fù)現(xiàn)一次注入攻擊才會真正明白為什么預(yù)編譯是不可妥協(xié)的底線。我很推薦想深入這塊的朋友去 BWAPP 靶場里親手試試把每個漏洞級別都打一遍比看一百篇安全文章都管用。數(shù)據(jù)庫這門基本功越往深走越發(fā)現(xiàn)它和業(yè)務(wù)離得近。你把索引原理搞明白了自然就知道為什么 ORM 自動生成的 SQL 有時慢得離譜你把事務(wù)隔離級別吃透了就不會寫出并發(fā)扣減為負的慘痛 Bug。希望這篇從原理到分類再到實戰(zhàn)的梳理能幫你把那些零散的知識點串成一張完整的網(wǎng)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情色播| 亚洲久久婷婷丁香五月天| 久热无码| WWW.激情| 热99视频精品在线| 色播丁香婷婷五月激情| 小泽玛利亚视频一区二区| 天天干天天射色综合| 99精品偷自拍| 中文乱子伦视频| 99精品久久久久久久久| 4399亚洲视频| 色综合播放| 99热这里只有精| 婷婷丁香一月| 婷婷精品综合| 五月婷婷操操| 九九色综合网| 色偷偷色婷婷| 五月色欧洲| 一二区成人电影| 人人草人人爱| 婷婷色片| 亚洲AV成人无码久久精品老人法拉利| 色八月婷婷| 精品影院| 久久亚洲婷婷| 狠狠99| 久久这里精彩免费在线观看| 97超碰在线观看免费| 亚洲精品99| 欧美色色色色色| 丁香五月香蕉| 人操人| 亚洲中文字幕在线观看| 99视频这里有精品| 色色色色网| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 99热精国产这里只有精品| 99久久五月天| 亚洲一区二区 成人网站戴套| 婷色五月| 婷婷五月AV| 激情小说之五月| 超碰AAAAAAV| 激情丁香五月婷| 九色无码| 9久热在线视频| 一级黄在线| 99亚洲精品视频| 成人色图情色成人网 www.5b5b5bcom 五月天| 2020夜夜操天天爽| 538久久| 久草A片| 久久免费丁香| 五月6香色婷婷视频| 成人五月天婷婷| 六月丁香开心婷婷欧美| 无码AV大香线蕉伊人| 在线天堂9| 婷婷五月激情在线| 天天撸天天干天天插| 人人草成人视频| 丁香五月天色| se99视频| 激情婷婷五月天| 翔田千里 50岁 无码| 99热这里只有精品1025| www,久久久人人| 五月丁香六月婷| 精品国产AV色一区二区深夜久久| www.久久99精品| 色色日本欧美| 人人舔人人色人人高潮| 99热在线这里只有精品| 丁香五月欧美| 亚洲精品电影| 亚洲综合色色色| 久久久久久久久99精品| 亚洲视频在线观看| 九九九AAA热视频| 97在线/日本| 97久久婷婷色| 婷婷她六月天| 婷婷五月天激情小说网站| 久久性爱网站| 五月亭亭直播| 九九激情视频| 天天激情5月天亚洲| 一本道综合网| 深爱激情五月婷婷| 丁香社92视频| 丰满人妻一区三区三区| 99热国产这里只有精品| 婷婷第一页| 日韩成人av在线| 99日本黄站| 97碰久久| 91精品国产综合久久久不卡电影| 午夜天堂啪啪| 67194中文字幕| 五月天激情小说网| 大香蕉啪啪| 99这里只有免费的精品| 六月婷婷久久大全| 国产亚洲精品久久久久久郑州| 99性爱视频| 久草网大香视频| 99在线精品视频观看免费下载| 婷婷激情五月天亚洲综合| 激情五月综亚网| 深爱激情五月网| 在线观看婷婷5月| 激情四射网| 色婷婷成人做爰A片免费看网站 | 婷婷丁香五月麻豆| 91九色国产熟女| www.五月婷婷久久.com| 亚洲操操操| 欧美影院婷婷| 中文字幕丰满乱孑伦无码专区 | 99热草草| 情情五月天色| 欧美性生交XXXXX无码小说| www.五月丁香| 五月丁香婷婷综合视频| 久久久久久久8| 风流少妇A片一区二区蜜桃| 2022久久婷婷| 亚洲天堂aaaa| 五月丁香激情啪啪网| 综合激情网五月激情| 亚洲精品99| 黄网在线免费观看| 激情婷婷在线中文字幕| 深爱五月网| 五月天丁香网站| 婷婷字幕在线| 丁香五月婷婷姐| 色噜噜狠狠色综合成人网| 日本色超碰| 色五月亚洲五月天| 中文字幕无码AV| 激情啪啪五月天| 直接看的av| 人人综合久| 婷婷五月中文字幕国产| 五月丁小婷婷激情四射| 狠狠操狠狠干综合| 国产午夜精品AV一区二区麻豆| 天堂综合久| 久久九九视频| 色婷婷88| 综合激情五月天| 色婷婷伊人| 天天激情| 99久久99久久| 五月天激情婷婷| 婷婷激情五月天7| 99精品网| 亚洲国产色婷婷| 欧美S码亚洲码精品M码| 色日本网| 久99久在线观看| 欧美啪啪9| 天天婷婷操| 激情四射网| 99日本在线| 99久久性爱| 亚洲五月天综合色| 99久久婷婷综合| 狠狠干综合网| 丁香色五月 97干| 色墦五月丁香| 日日懆天天懆| 99热久草| 丁香九月激情| 五月婷婷综合潮喷| 伊九九三级区| 婷婷久久大香蕉| www.狠狠操.com| 久久婷综| 五月婷婷中文字幕| 国产色婷婷亚洲| 另类丁香五月天区图| 思思久久青草热| 综合久久狠狠| 天天爽天天爽| 综合色五月天| 91视频精品99| 婷婷色色欧美综合网| 激情五月天 婷婷| 日韩久久视频| 日本欧美999久久久三级片| 激情人妻综合| 婷婷五月天美女视频| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 丁香五月激情月| 亚洲AV成人精品网站在线播放| 亚洲熟妇无码乱子AV电影| 五月丁香六月色婷| 婷婷九月在线| 日日撸夜夜操| 丁香五月婷婷欧美成人色图| 免费视频舔| 99ri精品在线观看| 婷婷丁香在线| 久久丁香五月天| 五月丁色AV| 久99久视频精选| 五月婷视频| 五月婷在线播放| 天天综合网、天天综合色| 七七久久婷婷| 99久久婷婷国产综合精品| 婷婷五月天奸女| 五月丁香色婷婷综合| 99免费热视频在线| 婷婷丁香社区| 91久久国产综合久久| 色婷婷综合影院| 五月丁香综合伦理片| 男人的天堂五月丁香| 婷婷91视频| 大香蕉久热| 只有久久精品免费| 91狠狠色丁香婷婷综合久久| 亚洲成人日韩无码精品| 精品国产乱码久久久久夜深人妻| 狠狠干,狠狠操| 色五月欧美| 丁香五月在线视频黑人| 我要色综合五月婷婷| 97人人操人人| 丁香六月婷婷开心| 丁香五月婷婷色偷偷| 丰满少妇乱A片无码| 久热只有精品| 丁香六月婷| 婷婷色丁香五月| 99在线精品视频免费观看20| 五月丁香六月婷婷亚洲综合| 五月婷婷六月丁香色| 青青草原中文字幕| 第2色五月婷| 色婷婷88| 九九无码| 99热爱爱干干日| 五月天com| 色五婷婷| 丁香五月天资源网| 青青热视频| 欧美性二区| 色www.con| 超碰99热在线观看| 国产.亚洲.欧洲视频在线| 五月婷中文娱乐综合| 91呦呦呦| 天天操天天操天天操天天操天天操| 婷婷五月天网| 色婷婷五月综合| 国产成人高清| 丁香五月激情婷婷| 丁香六月啪啪| 国精产品一区一区三区免费视频 | 九九热这里只有精品12| 婷婷六月激情综合| 成人婷婷| 少妇人妻人伦A片| 草五月| 夜夜爽天天爽| 五月天播播| 精品久久99| 嫩草AV久久伊人妇女超级A| 99精品久久| 成人国产欧美大片一区| 99资源在线| 婷婷九月狠狠色| 日本天堂爱爱| 亚洲AV激情五月综合网| www.深爱激情| 大香蕉五月丁香| 爆乳熟妇一区二区三区爆乳照片| 开心久久爱五月天| 久久a热| 色久影院| 欧美日韩欧美| 亚洲99在线| 九九综合久久| 99成人网一区| 日韩在线五月天婷婷| 超碰在线综合| 日韩AV在线影片| 97色碰碰公开视频| 五月婷婷 欧美| www.色擼擼.com| 色噜噜狠狠色综合日日| 深爱激情五月天| 91九色 熟| 91干视频| 久久婷婷五月综合色丁香| 天天爱天天吃狠天天透| 极品人妻VIDEOSSS人妻| 亚洲婷婷丁香| 欧美97p| 激情综合网激情五月天| 琪琪色综合网站| 五月天丁香久久综合| av免费在线网站| 九九九九九无码| 色狠狠伊人久久五月丁香| 老司机伊人| 精品五月天| 久久久久久久,99精品视频| 激情综合五| 秋霞影音91人妻久久| 99热播放| 丁香狠狠操| 天堂婷婷五月色| 婷婷五月天影院| 玖玖在线资源视频| 丁香五月激情网| 少妇被下春药玩弄A片| 日本少妇裸体做爰高潮片| 大香蕉九九操| 五月婷婷婷婷网| 婷婷操逼| 亚洲操操| 亚洲九九夜夜| 黄色成人网站在线播放| 婷婷五月天成人网| 人人97操| 在线1青婷| 色丁香五月婷婷| 婷婷五月天久久久| 色情综合| 91色在线/日韩| 亚洲欧美国产高清vA在线播放| 久色激情| 91九色精品| 天天天天做夜夜夜夜做| 色色欧美。| 欧洲永久精品| 99热网站| 激情综合网亚洲色图| 婷婷天天色| 8区视频在线| 丁香五月婷婷视频| 黑人熟妇一区二区三区| 亚洲婷婷五月| 任你爽精品免费视频6| 《蜘蛛女》梁铮1995| 99热精品在线| 他改变了拜占庭| 狠狠色综合网站久久久久| 色婷婷成人做爰A片免费看网站| 影音先锋按摩| 99热这里只有精品8| 日本色色网| 色婷婷导航| 久久天堂网| 99热碰碰| 人妻久久久| Caop在线| av九九| 久热91| 日韩成人综合网| 99热爱爱干干日| 99福利导航| 丁香六月婷婷综合欧美| 涩涩涩五月天| 99色热视频| 西西4r午夜剧场| 日韩AV大全| 91人人爽狠狠狠| 欧美婷婷日本| 婷婷五月丁香五月| 丁香五月五月婷婷五月天激情四射| 97热91| 色婷婷五月亚洲| 亚洲精品一二三| 思思热在线播放| 69综合在线| 久久作爱| 99re这里有精品手机在线| 碰超亚洲| 六月99天天婷婷激情综合| Av大香蕉| av免费在线观看0| www.色婷婷.com| 婷婷综合激情| 婷婷不卡基地| 五月婷婷啪啪| 久久er99| 婷婷五月激情四月综合| 东北熟女视频99| 激情亚洲婷婷| 婷婷五月丁香激情色情| 丁香五月大香蕉AV| 六月丁香网| 99热成人在线| 26uuu视频欧美| 99色人| 亚洲天堂啪啪| 五月婷婷丁香五月婷婷| 亚洲色啪| 在线超碰精品| av国产精品| 思思热精品在线视频| 中文AV网站| 五月丁香亭亭操逼| 婷婷色激情五月天| 六月激情婷婷色| 日逼影音先锋AV男人资源站| 色色色999| 丁香五月六月综合欧美| 丁香激情合作五月| 秋霞A V毛片| 99国产在线精品视频| 婷婷综合一二三| 五月天久久婷婷婷| 自拍偷窥99热| 色五月婷婷影视| 五月综合视频| 久热中文字幕| 五月婷婷六月天| 啪啪激情网站| 五月丁色AV| 九九性爱网| 91妻人人爽人人看片| 99热这里| 国产.亚洲.欧洲视频在线| 激情综合网 激情五月天| 中文字幕av在线| 99啪在线视频| 婷婷热色| 99视频综合网| 午夜微拍福利| www.91五月| 婷婷五月天福利| www.久久综合| 天天澡天天狠天天天做| 婷婷六月视频| 涩涩涩.com| 丁香五月瑟瑟| 五月天无码视屏播放| 婷婷精品在线| 五月婷婷色影院| 免费人人操| 亚洲AV成人无码精品| 少妇被下春药玩弄A片| 久久久久9999| 色五月av| www.婷婷五月天| 婷婷五月情| 亚洲不卡| 99色网站| 国产免费一区二区在线A片视频| 久久9精品| 色久影院| 久久久婷婷| 五月天色图| 91久久精品无码一区二区三区| 亚洲另类日本| 日本久久婷| 五月丁香六月成人| 久久九九爽| xx久久| 久久婷婷五月综合色奶水99啪| 六月丁香综合| 99九九精品视频| 丁香五月激情鲁| 九九色视频| VfJxEwPH| 强伦轩人妻一区二区电影| 另类综合色| 激情综合网激情五月天| 婷婷色婷婷| 国内外色色色色色成人视频| 五月丁香婷婷五月色| 97干在线视频精品店| 超碰免费人人肏| www.久久99精品| 性爱激情小说AV五月丁香花| 91热爆在线| 五月天婷婷三级黄| 天天天天天久久久久久| 狠狠五月激情丁香六月| 五月天桃色深爱网| 97色五月丁香婷婷| 色情丁香五月婷婷精品| 天天激情视频| 色色网站在线| 色五月婷婷久久| 成人无码髙潮喷水A片| 久久综合66| 色情婷| 天天色综和网| 在线1青婷| 99热综合在线| 日韩精品视频中文字幕| 亚洲99在线| 久热这里只有精品性色AV| 草婷婷在线| 日本色99网站| 久久婷婷五月综合精品蜜芽| 中国AV性爱观看| 色婷婷五月在线| 日本色婷婷| 五月日韩中文字幕| 成人精品在线| 婷婷丁香小说| www.色五月| 五月天之色情综合网| 久久亚洲A| 婷婷开心激情五月激情网| 五月丁香琪琪| 4438全国最大视频成人网站在线观看| 99热99在线精品| 综合五月草| 思思热精品在线观看| 操久久网| 91热久| 九九热在线亚洲免费视频| 17.c黄色| 狠狠干狠狠干| 激情久久久| 丁香五月天在线观看| 狠狠色色| 热九九精品| 日日.c| 无码成人AAAAA毛片AI换脸| www.99日本| 开心五月丁香婷婷| www.超碰| 激情色色| 99在线免费视频| 3p九色在线| 六月丁香婷婷综合色播| 一起草Av| 激情图片久久| 日韩无码色色| 久草婷| 天天日夜夜B久久| 五月色丁香| 久久久香港| 久久婷婷五月草视频| 欧美丁香婷婷天天操| 五月的色婷婷高潮| 91九九九九九九| 伊人国产婷婷五月天 | 九九无码AV| 思思99热在线| 1000部毛片A片免费观看| 日韩成人无码人妻| 玖玖爱资源站| 影视av久久久噜噜噜噜噜三级| 丁香六月婷婷综合欧美| www.99操| 五月婷婷六月丁香色| 婷婷六月丁香五月图区| 五月婷婷综合色拍| 婷婷丁香日韩五月| 五月婷婷激清网| 黑人巨粗进入警花疼哭A片| 五月丁香色婷婷伊人| 99性色| 99热精品在线观看| 深爱激情五月天| 五月丁香六月色婷婷综合五月天| 亚洲啪视频| 久久激情五月婷婷| 中文字幕婷婷| 性韩日色婷婷五月天激情啪啪XXX| 开心五月综合激情网| 九久久精品视频99| www.91色| 久久这里面只有精品视频| 婷婷亚洲综合| 开心五月婷婷在线视频免费观看| 九月丁香八月婷婷加勒比| 九九久久视频| 激情五月综合第一页| 色99色| 久久婷婷色综合| 九九人人操| 色五月婷婷天天干| 日韩在线视频9色| 天天综合亚洲| 另类伊人婷婷| 亚洲成av人影院| 婷婷丁香五月亚洲免费| 婷婷涩涩五月天| 色色激情五月天| 广东99色在线| 久久人妻视步| 热久69| 色色婷| 激情99。| 91碰九色| www久久99| 丁香综合网| 五月天婷婷社区久久综合| 久久草大香蕉| 五月婷导航| 色欲九区| 99婷五月| 久久九九热视频| 天天综合天天玩夜夜玩天天玩夜夜玩| 欧美 日韩 成人| 婷婷五月花| 婷婷五月深爱五月| 97色婷婷| 999九九九久久久99HD| 国产67194| 丁香欧美| 欧美性二区| 99久久天堂婷婷| 在线播放中文字幕| 九九色综合九九色| 91艹人| 国产超碰人人| 丁香色婷婷色手机免费在线| 91人人爽狠狠狠| 人妻操在线看| 丁香综合婷婷开心激情网| www五月婷婷| 九九Av| 狠狠草狠狠草| 激情婷婷丁香色情五月天| 久久精品99久久| 婷婷的五月天另类视频| 看片视频在线免费日产在线看| 亚洲第一第二网站| 俺也去综合| 区区久久妻| 六月婷婷网| 狠狠干最新地址| 久久婷婷成人综合色怡春院| 天天爱天天爽| 九九热经典视频在线观看| 精a品a视a频| 91精品国产99久久久久久天美| 热99视频精品在线| 精品一二三区久久AAA片| 97碰碰视频在线观看| 婷婷五月天高清无码| 欧美婷婷五月无砖| 五月丁香综合啪啪啪啪啪| 97色女人在线| 婷婷婷婷婷开心无码播放| 这里只有精品视频国产| 丁香五月天导航| 91九色熟女| 狠狠干在线| 五月丁香综合久久夜夜| www...com黄在线观看| 天天爽夜夜操| 五月天婷婷色| 天天爽天天爽| 熟女人妻一区二区三区免费看| 直接看的AV| 大香蕉综合| 97碰| 我爱大香蕉| 亚洲综合另类| 婷婷激情性爱| 中文字幕在线日亚州9| 五月丁香久人妻中文| 激情综合五月婷婷丁香| 91九色中文| 久久综合婷婷五月| 五月婷婷啪啪网| 丁香婷婷九月| 欧美色色色| 久久九九国产精品怡红院| 激情五月六月婷婷| 精品久久99| 色婷婷成人做爰A片免费看网站| 99人人干| 人人插操| 久久久免费图片视频| 婷婷丁香五月天大香蕉| 天天肏天天肏天天肏| 97色天堂| 狠狠色婷婷在线| 狠狠狠狠免费| 色婷婷色五月综合| 亚洲最大视频| 亚洲精品成人| 日日夜夜狠狠| 4399在线观看免费高清毛片| 99九九视频| 热99这里只是精品| 国产99视频永久免费| 色五月在线视频观看| 99精品视频网| 人妻啪啪啪| 极品 少妇 内射| 就99这里只有精品| 色五月综合激情| 色九九九九| 99爱视频在线观看| 99色综合| 综合XX网| 久久久18| 九九精品碰| 五月丁香激情四射综合| www,欧美干干干干干干| 五月婷av| 久久综合五月天| 91九色PORNY肉丝在线| 操久久精| 天天综合干| 亚洲第一综合| 一点色成人网| 五月天激情久久| 婷婷在线午夜| 日韩综合久久| 丁香五月激情图片婷婷| 涩综合网| 天天色域综合网| 五月婷婷无码| .comwww在线观看免费操| 只有精品在线观看| 五月丁香六月玩女人| A久久| 亚洲成人无码片| 激情五月丁香婷婷夜夜操| 婷婷六月激情在线视频| 亚洲午夜AV| 亚州综合色| 97干婷婷五月天| 日韩精品999| 草榴视频黄色网| 丁香婷婷激情综合五月激情| 天天爽天天摸天天爱| 可以免费观看的AV| 久久大香蕉同僚| 天天日天天日天天搞| 思思热视频在线| 99re热在线视频观看| 五月天性色| jiZZdr| 极品色丁香| 人人爽亚洲| 欧美精品XXXXBBBB| 色婷婷小说| 婷婷色片| 色婷婷性爱| 婷婷五月天a| 久久综合婷婷| 亚洲色色色色色色色色色| 天天爽天天日| αV电影| 激情五月六月丁香| 99热这里有精品| 97婷婷色| 超碰不卡在线| 人妻少妇色综合| 丁香影院五月综合| 思思热久久婷婷五月天| 亚洲字幕AV一区二区三区四区| 日本高清久久| 日韩成人综合网| 丁香激情四射| 日本在线视频播放91| 丁香五月最新网址| 草综合14| 一婬一伦一区二区三区| 六月丁香VA| 婷婷综合玖玖五月| 亚洲AV色婷婷人禽五月天| 久久国产成人9999久久久久| 色五月色综合| 久久免费高| 婷婷五月深深爱| 久久免费少妇高潮99精品| 色五月色综合| 日本三级99人妇网站| 日韩激情人伦人| 五月婷婷综合在线亚洲视频| www色中色综合| 丁香五月婷婷国产av| 综合深爱五月| 色九九一二| 久久性爱视频| 99大香蕉| 99综合网| 天天综合五月| 岛囯综合激情网| 国产精品久久久海的味道| 国产免费av在线| 中文字幕AV在线播放| 99热精品在线播放| 极品人妻VIDEOSSS人妻| 婷婷五月中文字幕国产| 一区二区你懂的| 操逼巨乳91| 青青热视频| 国产人妻777人伦精品HD| 思思精品久久艹 | 婷婷激情五月天网站| 亚洲精品又粗又大又爽A片| 狠狠色激情综合| 97人人操com| 超碰在线人人| 另类婷婷丁香| 大香蕉天堂色| 久草A片| 丁香五月婷婷色五月| 久久久婷丁香五月| 久操97| 婷婷五月天受日本法律保护| 久久婷婷丁香花综合网| 99热综合| 婷婷六月婷婷| 婷婷久久婷婷| 91超级碰碰| 五月婷av| 丁香五月,开心五月,成人婷婷| 国产偷人爽久久久久久老妇APP| 五月天深爱激情网| 久久女人天堂| 婷婷丁香五月天综合在线日韩| www.色五月| 午夜理论片最新午夜理论剧| 久久99免费视频| 99热手机在线精品| 狠狠插日日干撸| 亚洲sesesese| 91精品视频男人的天堂| 99热在线观看| 久久人妻精品| 六月五月久久丁香| 99riAv1国产在线观看| 荫道BBWBBB高潮潮喷| www.色九月| 五月丁香六月婷婷综合伊人| 午夜亚洲国产精品av一区二区| 欧美色片中文字幕久久久久| 色播婷婷大香蕉| 99视频热| 亚州欧美国产久精国产99综合视频| 婷婷五月精品中文| 欧美搡BBBBB摔BBBBB| www.色综合.com| 99小视频网站| 婷婷在线五月天观看| 黄色激情久久| 4399精品一区二区| 疯狂做受XXXX高潮A片| 色情五月婷| 成人五月天视频播放| 婷婷九月激情| 9久精品视频| 婷婷色基地在线看| 日韩AV免费电影在线播放| 五月丁香六月婷| 天天色视频| 丁香五月,激情五月,深爱五月| 五月丁香六月激情综合网| 99色久| 丁香五月伊人| 亚洲欧美在线观看| 丁香五月天之婷婷影院| 亚洲性爱电影| 婷婷 色 丁香 夜| 六月丁香激情婷婷| 五月丁香激情综合六月涩涩爱| 91五月天| 成人网站在线观看视频| 欧美日韩国产伦精品日韩人妻一| 精品九九久久| 色色五月天 亚洲| 乱岳熟女50岁| 天天操夜夜操| 天天干,天天日| 亚洲热视频在线| 99操99| 色色色五月婷婷| 激情久久五月天| 一区视频网站| 97人人看| 国产精品成人在线| 日本不卡中文字幕| 色色五月天网站| 免费啪啪亚州视频| 91婷色| 丁香婷婷五月天激情四射| 五月婷婷丁香| 激情四射婷婷| 亚洲另类婷婷综合| 综合婷婷| 日日操夜夜撸| 五月色综合| 搡BBBB搡BBB搡五十| 怡红院AV亚洲一区二区三区H| 色色99| 99ER热精品视频| 美女久久婷婷| 97久久精品视频| 玖玖激情网| 亚洲午夜电影| 日韩啪啪视频| WWW.五月天9999| 激情五月丁香在线观看直播| 开心五月天激情| 成年人看Va免费视频| 5月丁香啪啪啪| 天天综合五月天| 美日韩成人| 中文AV网| 五月婷婷色在线| 五月婷婷丁香综合,亚洲天堂| 六月婷婷最新网址| 成人 视频免费观看网站| 五月丁香婷中文| 国产五月丁香在线| 丁香五月天BBw| 99热在这里只有精品| 色色丁香婷婷综合| 六月婷婷五月丁香| 香蕉影院色| 铁牛TV人妻| 成人va在线观看视频| 99热在线中文字幕| 久热免费| 99热精品在线| 第四色色色色色丁香五月天| 91综合在线视频| 99国产er热视频| 婷婷伊人五月| 国产精品成人AV在线| 色999五月色| 超碰免费观看| 婷婷综合五月| 99热99热| 天天干天天干天天干天天干天| 国精产品一区一区三区免费视频| 超碰中文字幕在线| 日本久久99| 婷婷五亚洲| www.zbzhongsen.com| 久久婷婷五月综合色欧美| www.com亚洲网站在线免费| 六月婷婷之青青草| 天天干天天操天天拍| 丁香五月激情五月| 香蕉中文在线| 欧美日韩AAAAA| 丁香美女五月天婷婷| 99热超碰| www.婷婷.com| 精品久久久久久久久久久久人妻| 五月丁香91| 九九精品9| 天天激情5月天亚洲| 婷婷5月九九| 综合色色网| 99在线视频免费| 五月丁香婷中文| 日韩成人免费电影| 五月色婷丁香| 久久五月丁香激情综合| 超碰激情网| 亚洲国产成人AV在线| 99在线视频免费| 久久婷狠狠色| 高清 码 免费看片短视频| 国内婷婷丁香社区在线播放| 九九婷婷综合| 欧美日韩国产成人在线| 深爱激情九九五月天 | 99性视频| 中文字幕 中文字幕明步| 黄色AV日韩| 五月天综合色| AV亚洲在线| 激情亚洲色图片丁香综合| 亚洲天天| 日本啪啪网| 激情婷婷五月| 亚洲99热| 99精品7| 国产亚洲精品AAAAAAA片 | 色五月激情网| 色婷婷色综合| 六月婷婷国产| 色五月激情五月| 蜜桃婷婷五月| 色五月激情| PORNY九色9l自拍视频成人| 草五月| 激情av网| 五月天综合视频| 无码人妻一区二区一牛影视| 99re思思精品在线观看| 荡乳尤物3HP1V5| 七七九九色色| 99热这里只有精品免费| 婷婷在线视频| 日日干天天爽| 天天搞夜夜爽夜夜爽| 99热都是精品| 激情综合五月| 五月婷丁香| 五月天激情黄色小说在线观看| 在线中文字幕av| 色玖玖综合网| 99九九久久| 五月丁香啪啪啪| 久久五月天婷婷| 色八月婷婷| 色色无码| 99免费视频精品| 免费一区二区三区| 夜夜夜夜夜操| 激情综合色婷婷啪啪六月天| 色婷婷国产精品综合在线观看| 铁牛TV人妻| 亚洲综合五月天婷婷丁香| 91人人爽狠狠狠| 婷婷深爱五月天| 女人天堂av| 婷婷五月色播天| 欧美一级操逼视频| 九九精品热播| 99操碰| 婷婷六月爽| www.seqingwuyuetian| 亚洲天堂aaa| 丁香狠狠色婷婷| 国产精品大香蕉| 色五月aV| AV在线不卡网站| enecarbon-materials.com污K127封锁请涟系@wip1688 | 激情四射亚洲| 天天精品视频免费观看| 国产1区2区3区| 狠狠色综合网| 婷婷色丁香五月| 涩 五月 婷婷 狠狠| 国产精品久久..4399| 欧美激情 日韩无码 婷婷 五月天| 免费看欧美成人A片无码| 99免费视频在线观看爱| www.sebowuyue| 激情丁香五月| 夜丁香五月婷婷| 国产ava| 97碰碰碰免费公开在线视频| 日本 @ va 免费| 五月婷婷啪啪啪| 免费无码毛片一区二区A片| 日韩视频99| av九九| 伊人网色婷婷五月天| 亚洲人妻电影| 亚洲中文AV网站| 色婷视频| 婷婷香五月综合激情| 色五月天丁香婷婷| 丰满少妇乱A片无码| 日本色爽| www色婷婷久久综合久色| 奇米影视在线视频| 综合色播| 婷婷丁香五月色| 思思网站| 天天综合久久| 久久精品国产AV一区二区三区 | 五月花婷婷| 五月天自拍网| 97碰| 日美三级| 日本欧美成人片AAAA| 99色综合| 久久这里只有国产视频| 日本一级黄色电影| 欧美成综合在线观看| 九九亚洲视频| 综合激情在线| 思思精品热在线| 激情小说五月丁香在线视频观看视频| 97香蕉人人在线观看| 国产亚洲精品久久久久久郑州| 97碰人人操| 99热久草| 狠狠夜夜五月丁香| 久久精品99久久久久久| 亚洲黄网在线| 99热综合| 亚洲色碰| 四月婷婷五月丁香| www.丁香黄色五月天人与| 五月色情婷婷| 欧美天堂久久| 九九色天堂| www.91五月| 亚洲精品一区中文字幕乱码| 婷婷激情综合| 99性爱视频| 色情综合网| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇| 成人短视频在线| 嫩草视频观看| 国产色香蕉精品五夜婷| 九月婷婷在线视频| 嫩草AV久久伊人妇女超级A | 久久婷五月| 久/久精品99看9| 婷婷内射视频在线| 综合婷婷都市激情| 婷婷色五月色| 婷婷五月图片小说网| 天天爱天天做天天爽| 色五月亚洲五月天| 深爱激情网五月| 人妻射精AV| 天天爽在线视频| 美日韩成人| 香蕉综合在线| 久婷婷| 在线播放中文字幕| 五月丁香六月成人| 久久精品91视频| 99九九在线视频| 97热久久五月婷婷| 狠狠爱婷婷丁香| 波多野结衣AV无码Porn| 色五月欧美| 97欧美在线| 久99综合婷婷| 久久色婷婷| 大香蕉AV在线| 人妻射精AV| 色婷婷五月基地在线| 亚洲熟妇AV综合网五月丁香伊人 | 99欧美热| 婷婷五月丁香激情图片| 久久婷婷东京热大香樵| 玖玖爱导航| 啪啪 综合网| 九九热AV| 天天爱天天日| 538久久| 五月婷婷综合潮喷| www.狠狠艹| 另类图片激情五月| 色婷婷久久综合中文久久一本| 91色色色| 琪琪色网在线| 91在线观看www| 99手机在线精品视频| 91干| 婷婷丁香六月影视| 操逼棍操逼| 狠狠干,狠狠操| 色综合久久888| 天天日天天色| 97人人操人人拍| 日韩精品一区二区亚洲AV观看| 六月丁香久久| 综合五月亭亭9| 婷婷五月色情天| 日韩成人AV在线播放 | 91干网| 欧美久久婷婷| 婷婷五月丁香综合激情小说| 欧美激情-区二区三区| 丁香五月欧美午夜视频| 五月婷婷中文字幕| 丁香色婷婷色手机免费在线| 情一色一乱一伦一91A| 五月丁香美女视频| www.激情五月天com| 精品99在线| www久久久| 9色在线视频精品观看| 激情四射五月天| 五月丁香婷中文| 久久婷网| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 美女100%露全身无挡网站| 五月婷婷啪啪| 日韩人妻AV在线| 六月婷婷香蕉| 丁六月激情| 色色色色网站| 中文字幕成人| 奇米网大香蕉| 婷婷九月激情网| 色色色色色色色色色色色色色97| 国产激情综合五月久久| 九月丁香欧美综合| 丁香 婷婷五月| 天天草天天爽| 欧美特大片黄| 久久久激情视频| 看国产探花操逼三级片| 色五月婷婷色| 91免费试看| 婷婷五月 丁香六月| 在线观看av网站| 天堂婷婷综合| 婷婷丁香社区网| 久草热在线视频| 欧美特大片黄| 久久视网36| 五月天婷婷免费视频| 热91久| 91色久| 十一月婷婷激情四射| 99国产在线精品视频| 99ri视频| 激情小说五月天| 精品久9| 99人这里只有精品| 色婷婷AAA| 丁香五月天婷婷91| 成人丁香婷婷五月天| 亚洲综合五月天| 色婷婷在线播放| 五月精品| 亚洲AV电影av| 开心五月婷婷激情网| 思思热视频在线| 99热新网址| 六月婷婷五月天| 欧美,日韩成人在线| 六月丁香射婷婷欧美色图片| 国产激情视频在线观看| 玖玖色资源| 夜夜夜夜夜骑撸| 婷婷丁香色女人| 亚洲久久婷婷| 国产精品A成V人在线播放| 五月天日日操夜夜操 | 狠狠草狠狠草| 五月停停99| 丁香五月久久综合| 99在线精品免费视频| 亚洲另类婷婷五月丁香在线播放| 97AV在线视频| 99噜噜| 99九九在线视频| 婷婷欧美激情| 五月花在线观看视频| 九色视频入口91| 九九免费精品| 97涩婷婷婷婷基地| www,av好吊操| 国内9l视频自拍老熟女九色| 色操b| 大香蕉网 久久| 日韩在线五月天婷婷| 婷婷五月综合色小姐小说| 五月天深爱激情网| 大鸡巴伊人网| 狠狠五月激情丁香六月| 婷婷热色| 高清无码入口| 日韩色久| 激情图片五月天| 五月丁香六月日逼|