久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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ù)庫知識體系的讀者也適合準(zhǔn)備面試前回頭補課的朋友。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)的人大金倉、達(dá)夢都屬于這個陣營。它們共享同一套理論根基表、行、列、主鍵、外鍵、索引、事務(wù)、ACID。這里有個關(guān)鍵認(rè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 里的前三個——嚴(yán)格來說 SELECT 被歸為 DQL但日常沒人分這么細(xì)。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 還有個小細(xì)節(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 返回的行順序是存儲引擎決定的——它可能看起來是按主鍵排的也可能不是。你永遠(yuǎn)不該依賴“默認(rèn)順序”做業(yè)務(wù)邏輯。這是我排查過很多次“為什么這段查詢時靈時不靈”之后得出的血淚結(jié)論。2.3 DCL 與 TCL權(quán)限和事務(wù)看起來無用實則保命DCLData Control Language是管權(quán)限的GRANT、REVOKE。大多數(shù)開發(fā)同事覺得這是 DBA 的事自己碰不到。但你要有最起碼的認(rèn)知生產(chǎn)環(huán)境的數(shù)據(jù)庫賬號永遠(yuǎn)不該給一個超級權(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 默認(rèn)是 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”非常快——定位到第一條然后沿著鏈表往后掃就行。但索引不是萬能的很多操作用不上索引。我隨手列幾個高頻失敗場景都是我實際踩過或看別人踩過的對索引列做了函數(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 的第一件事永遠(yuǎn)是看執(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ū)表有不少改進(jìn)但要提前判斷業(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 標(biāo)準(zhǔn)定義了四種隔離級別隔離級別臟讀不可重復(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ā)給同一個賬戶余額做扣減因為沒控制好隔離和鎖最終把余額扣成了負(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用管理員身份打開命令行進(jìn)入 bin 目錄執(zhí)行初始化命令mysqld --initialize-insecure--initialize-insecure會生成一個無密碼的 root 賬號適合本地開發(fā)--initialize則生成隨機密碼在日志里可以找到適合對安全要求高的場景。啟動服務(wù)執(zhí)行mysqld --console看到ready for connections就說明啟動成功。另開一個終端執(zhí)行mysql -u root就能進(jìn)入。路徑盡量不要帶中文和空格字符集默認(rèn) utf8mb4這個一定要設(shè)不然表情符號和生僻字存儲會亂碼。這套流程我前后裝了不下十次踩過的坑全是漏配 basedir、datadir 導(dǎo)致服務(wù)起不來或者路徑帶空格導(dǎo)致 my.ini 解析失敗。4.2 導(dǎo)入導(dǎo)出與日常維護(hù)實操中的高頻動作日常開發(fā)中最高頻的三個操作是用 Navicat 導(dǎo)入 SQL 文件、把 Excel 數(shù)據(jù)入庫、對臟數(shù)據(jù)去重。逐個說。Navicat 導(dǎo)入 SQL 文件。很多人直接雙擊 .sql 文件想打開那是錯的。正確姿勢是Navicat 里先建好目標(biāo)數(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 文件按列映射到目標(biāo)表字段。要注意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把這些變更操作在目標(biāo)庫上重放。需要提醒的是主從復(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)容不要用文本編輯器打開那全是二進(jìn)制亂碼用 SQLite 的官方命令行工具sqlite3或者 dbx 這類 GUI 工具打開就能像操作普通數(shù)據(jù)庫一樣查數(shù)據(jù)。再說一個熱詞“mybatisplus根據(jù)java實體類生成創(chuàng)建表的sql語句”。MyBatis-Plus 有個能力是內(nèi)置默認(rèn)的建表 SQL 生成器——根據(jù) Java 實體的字段映射自動拼出 CREATE TABLE 語句。這個對快速開發(fā)有用但生產(chǎn)庫的表結(jié)構(gòu)變更我還是建議走 Flyway 這種遷移工具原因是你需要完整的變更歷史記錄上線后回滾也有依據(jù)。“自動生成”適合原型開發(fā)不適合嚴(yán)肅的線上環(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指定默認(rèn)數(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注入萬能密碼繞過”這塊確實值得仔細(xì)講。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)鍵的一步是永遠(yuǎn)不要手動拼接 SQL 字符串全部用參數(shù)化查詢Prepared Statement。Java 里用 JDBC 和 MyBatis 的#{}PHP 用 PDO 的 preparePython 用 DB-API 的?占位符。核心原理是SQL 語句的骨架先發(fā)給數(shù)據(jù)庫服務(wù)端預(yù)編譯用戶輸入只作為純參數(shù)值傳給服務(wù)端不參與 SQL 語法解析。這樣無論你輸入什么都只是值只是字符串永遠(yuǎn)不會變成可執(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ù)編譯${}是直接把字符串拼進(jìn) 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ù)留擴展字段——這些決策后期改動的成本遠(yuǎn)超你想象。我見過最痛苦的重構(gòu)就是把一個用字符串拼接當(dāng)主鍵的表改成自增 ID牽扯了幾百個接口。年輕的時候覺得設(shè)計表結(jié)構(gòu)簡單現(xiàn)在覺得這是整個系統(tǒng)里最需要慎重對待的環(huán)節(jié)。第二個體會慢 SQL 優(yōu)化不是 DBA 一個人的事是每個寫 SQL 的人的事。代碼寫完順手跑一個 EXPLAIN是成本最低的保命操作。我們團(tuán)隊后來定了一個規(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ā)扣減為負(fù)的慘痛 Bug。希望這篇從原理到分類再到實戰(zhàn)的梳理能幫你把那些零散的知識點串成一張完整的網(wǎng)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产粉嫩蜜臀av一区二区三区| 欧美大香蕉专区网| 国产丰满熟夫69mpp| 天天操夜夜嗨| AVE乱伦| 色制服丝袜夫妻av一区| 婷婷久久综合久| 操逼逼一区视频| 久久久久久中文| 国产suv精品一区二区四区999| 吖在线不卡一区二区国产剧情 | 日韩偷拍一区二区三区| 青青草色AV| 亚洲区限制级| 日韩人人精品| 国产视频大全| 久久久99999久网站| 97WW精品| 偷拍欧美激情| 精品区9| 久久香蕉网| 亚洲国产欧美一区二区潘金莲| 久久线上视频免费看| 嫩草伊人久久精品| 九九九综合精品| 久久久久78| 男人天堂.AB| www色色com| aaa一级黄片| 亚洲一区二区久久久久| 国产AV久久野战精品| 日本人妻伦在线中文字幕| 久久粉色| 日少妇视频| 中文字幕激情小说| 欧美亚州综合网图片| 中文字幕在线2| 台湾肥佬网一区二区三区| 伊人97色天使| 另类av天堂| 欧美亚洲厕所精品偷拍91| 夜夜狠狠躁日日躁色视频| 四虎AV无码| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 91精品国久久久久久无码| 国产白嫩精品久久| 国产精品一区二区三区四区五区| 爽极品影院| 一本一道波多野毛片中文在线| 777AV电影| 黄色人人| 欧美不卡在线美女| 国产亚洲欧美每日在线| 欧美日韩性爱精品| 久都青青视频| 丰满搜索结果 -第18页- 久久高清无码 | 日本免费专区| 秋霞视频一区二区| 天天操狠狠日夜夜干超碰撸com视频在线观看| 亚洲国产日韩欧美熟妇在线| 欧美十八禁视频| 女同女同恋久久级三级| 超碰人妻天天干| 婷婷色影院| 99视频精品| 久久精品国产72国产精品福利| 久久精品店| 久久97| 亚洲天堂,男人| 午夜人妻精品综合在线| 91在线丝袜视频| 人人操人人射人人干| 亚洲色图 图片| 中文字幕第23区| 日日躁狠狠躁天天躁精品| 男人天堂无码| 小视频国产| 5278欧美一区二区三区| 青青网三级视频| 欧美亚综合色图| 欧洲与亚洲欧美精品中文字幕| 蜜臀th| 不卡在线观看视频| 91社操逼| A V少妇特黄三级| 91天天爱| 日韩综合无码一区久久92| 成人亚欧免费视频| 日本少妇va7777| 欧美 亚洲 综合 制服 另类| 综合 亚洲 欧美| 蜜乳Av成人片网站| 久久久久精| 欧美视频第二页| 久久精品导航| 日本成a人v网站在线观看| 久久久久久AⅤ无码免费肉站| 一区二区激情国产熟女 | 操婢日韩| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 亚洲 图片 欧美 色图| 人人澡综合涩| 不卡日本一区二区| 大香蕉综合在线| 熟女欧美日韩综合婷婷| 啊啊啊好想要| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 欧洲亚洲天堂精品| 日韩精品人妻中文字幕久久久| 日韩在线电影| 97资源制服丝袜| 天堂av最新电影网| 国产尹人在线视频免费| 亚洲人久久久网| 1000部熟女视频在线观看| 日本性爱网址| 男人的天堂在线| 91美女网站| 啪啪一区| 精品国产乱码久久久久久久久久毛片| 午夜福利免费精品视频| 2017大香蕉国产精品久久| 免费国产视频| 四色永久成人网站| 四虎av在线| 人人色人人操在线| 99热在线只有精品| 日韩乱伦视频| 97在线资源| 欧美久久人人网| 白 大 人妻 区 在线| 国产一级舔足在线观看| 素颜老阿姨乱情色| 亚洲国产高清福利视频| 97欧美久久久久久久| 一级日本牲交大片好爽在线看| 狼人综合婷婷激情四射 | 91超级碰碰碰| 国产精品国产精品国产| 97舔舔| 久久久性| 亚洲欧美setu| 激情五月综合| 999999精品| 国产亚洲一黄| 精品亚洲一区在线观看| 天天综合网~91入口| 玖玖玖玖精品国产剧情| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 91狼人| 91M一社| 婷婷视频网| 天天综合~91| 五月丁香综合激情| 日韩大香蕉| 操操操操操操| 在线看片国产精品每日更新| 97国产综合欧美| 色综合久久888| 亚洲人妻五月丁香婷婷| 嗯啊不要啊啊在线观看视频| 岛国片国产成人亚洲播放| 黄久在线| 亚洲天堂另类小说男人| 2019天天干天天操| 欧洲精品一级二级精品综合视频综合| 国产白领连续中出在线播放| 五月天丁香网| 国产 三级自拍| 蜜桃狠狠色伊人亚洲综合网站| 97久久精品国产| 天天做日日爱夜夜爽| 大香蕉懂9| 国产精品。| 欧美十八禁在线看| 国产曰批免费观看久久久| 亚洲精品久久一区二区三区蜜桃臀| 亚洲熟女av日韩熟女| 啊啊啊好想要| 成人草草视频| 色婷婷日韩精品一区二区三区| 久久久久成人蜜桃精品| 久久久久久国产无码精品| 色香av| 亚州欧美综合| 操操操操网黑人| 蜜桃臀av一区二区| 亚洲国产青青| 伊人久久蜜月| 青青草精玖玖69精品| 久久精品国产免费观看99| 日韩熟女三十乱伦| 国产精品农村妇女| 婷婷久久久精品| 中文字幕一区 二 区 三 四 五 区日 日 骚| 久久无码电影| 欧美 日韩 亚洲 春色| AV女优男人的天堂| 久久超碰av在线| 日产国产精品中文久久婷婷| 99在线精品视频| 日韩午夜精品一区二区三区电影| 国产1024在线播放| 五十路熟女人妻一区二区三区四区五| 男人的天堂日韩| 目产99999久久999| 色九九九九| 欧美日韩国产中文精品字幕自在自线, | 一本久道久久综合狠狠爱一密臀精| 色网在线| 大香交| 亚熟hd视频在线| 欧美午夜色妇色鬼| 亚洲人体视频在线观看| 日本亚洲vr欧美不卡高清专区| 国产馆极品诱惑| 人人弄人人摸| 蜜臀久久99精品久久久久久婷婷| 91精品国产91久久久久久久久久久久| 久久久久中出| 亚洲欧美视| 欧美在线大香蕉| 日夜久久久九九九久| 天美国产三级传媒| 91女网站| 啊啊好多水| 神马久久中文字幕| 麻豆一区二区三区精品| 96国产污污污丝袜| 亚洲涩图欧美| 日本亚洲嫩草影院啪啪| 女优大全 - 91n| 91亚州| 久久精品店| 日本加勒比无码专区| 午夜一区| 中文字幕人成乱码熟女香港| 国产区性爱在线视频秋霞豆| 一级久久性爱视频| 白丝1区2区3区| 亚洲蜜臀懂色| 亚洲欧美国产va在线| 成人精品水蜜桃久久久久久久| 97在线日韩中文字幕| 国产精选视频| 东北少妇高潮zzzz| 色综合天天| 影音先锋中文字幕日本好一区二区| 国产精品69人妻无码久久久| 97综合在线| 青青草九九九九九| 亚洲色图 图片| 久久熟女嫩草成人片免费| 国产亚洲日本精品在线| 丁香六月婷婷| 热的中文 热的有码 热的国产| 久草精品一区| 91高潮| 大香蕉免费3| 国产偷拍自拍在线视频| 狠狠久久亚洲欧美专区| 97超碰精品成| 欧美精品69性爱| 午夜偷拍久久熟女| 99re这里只有精品中心播放 | 亚洲天堂 视频你懂的| 色5月婷婷| 99re95| 欧美最婬乱婬爆婬牲视频| 亚洲一二三四区| 东北丰满熟女国产一区| 婷婷五月丁香五月| 91最新综合| 色97干| 秋霞无码av鲁丝片一区| 久久久久久久少妇| 校园春色 亚洲| 另类TS人妖一区二区三区 | 91AV天美在线视频| 校园春色亚洲| WWW黄片COM| 少妇人妻精品| 久久国产在线一区二区| 日韩丝袜人妻AV| 东北女人性交| 探花激情视频| 久久久9 9 9精品| 日韩免费簧片| 五月天黄色av| 婷婷色播婷婷| 中文字幕一区二区三区蜜桃视频| 98人妻精品一区二区色欲| 日韩欧美经典在线观看| 东北操逼| 日亚韩精品视频二区三| 人妻五十路在线| 国产人妖的免费的视频| 中文字幕第23区| 日韩有码 一区二区三区| 色婷婷丁香五月| 久久久亚洲熟妇资源| 秋霞一级鲁丝片A片| 花野真衣| 性色av大全| 淫色网综合| 久久久精品网| 一区二区偷拍拍视频| 精品乱码久久久久| 看日韩黄片| 青青草在线成人视频| 亚洲日韩电影| 三级片网站在线播放| 日韩97视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 美女91| 91人妻PORNY九色大屁股| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 欧美91色| 日韩无码专区| 美女91AV| 二对二中文字幕。| WWW啪啪的com| 大香久久| 亚洲综合113页| 大香蕉免费3| 亚洲诱惑天堂| 久久婷婷色综合一区二区三区| 欧美中文综合| 亚洲视频,小说| 激情网色| 资源新线在线天堂| 国产性爱欧美性爱在线| 亚洲一本大道中文字幕无码在线| 蜜臀AV一区二区三区| 97九色人妻| av爱爱爱| 久久久久久久久久久久色网| 嗯……啊…嗯嗯…啊…好舒服| 亚洲av无码国产精品字幕| 中文幕97| 99热成人| 国产呦精品一区二区三区下载| 加勒比aⅴ| 爆乳免费黄网站| 伊人一区二区在线播放| 日夜精品| 很很很很操| 大鸡吧尹人在线| 亚洲中文国际强奸字幕| 人妻一区二区三区四区视频 | 精品亚洲黄色片 国产精品导航一区二区| 夜夜嗨免费视频| 日韩偷拍色图| 涩五月婷婷| 亚洲日韩视频二区| 久久婷婷一区| 91天射| 狠狠狠狠狠干| 嗯啊抽插大香蕉网页| 中文字幕福利视频一区二区三区在线观看| 九一屌逼| 91丨九色丨43老版熟女| 天天精品| 亚洲av综合色区无码一| wwwxxx日本爽| 99久久国产精品免费高潮| 99re6国产精品99re| 乱日视频| 久久久久久中文字幕中文字幕最新| 欧亚乱色熟女一区二区| 一级性爱视频免费在线| 国产精品熟女一区二区三区| 人人操人人操人妻人| 60秒免费小视频| 台湾佬激情综合| 性一交一乱一交A片久久四色| 屁股久久久久久| 麻豆天美AV传媒第一页| 九九亚洲精品| 蜜桃不卡一区二区| 国产传媒美日韩av| 女人一区| 密臀视频一区二区三区| 精品久久久中文字幕不| 99青草| 日韩精品区二区三区不卡| 亚洲欧洲日韩国产自在线| 乱伦a片视频| 婷婷久久五月综合激情| 天天欧美| 久久神马| 操逼视频国产无套| 日韩无码视频黄色| 影音先锋每日最新资源在线观看 | 综合性视频99| 五月天亚洲网| 中文字幕精品专区搜索结果91| 操亚州| 97干天天| 亚洲玖玖爱| 亚洲精品久久久久久| 色99久草| 91综合无码| 日韩猛交| 欧美不卡二区| 欧亚性爱视频免费看| 色欲日韩欧美在线一区| 狠狠爱综合| 亚洲天天艹| 午夜福利久久久噜久噜久久综合| 操b网站亚洲无码| 无码视频一区二区| 欲色啪| 96国产精品| 亚洲风情在线观看| 欧洲性爱无码区| 国产精品久久久久久久电影渣男| 一区二区三区黄片免费观看| 操逼网免费无码视频| 日日狠狠久久偷偷色综合免费| 欧美躁死她一区二区| 久热伊人99re| 91丝袜激情在线| 色在线69堂| 大香蕉中文201| WWW.操逼.COM| 黄色一区二区秘书性感| 日本91白丝| 超碰 另类 欧美 | 91欧美网| 国产精品麻豆视频网站| 120分钟婬片免费看| 美日韩一卡二卡三卡免费人妻精品| 久久有碼| 国产精品国产| 国产男女边吃边摸视频网站| 在线无码操| 久久五月婷| 综合网久久| 亚洲色综网| 天天澡天天狠天天天做| 日韩丝袜二区| 97色论| 国产精品午夜精品| 无码操逼视频一下| 色吧综合网| 亚洲欧美日韩电影网站一区| 久久人妻熟女一区二区| 亚洲春色欧美激情自拍| 日韩免费人妻色情网站| 国模不卡一本二本三电影| 91综合无码| 成人七区| 夜夜嗨av午夜成人| 亚洲情欲| 国模精品娜娜一二三区| 中文字幕AV片| 中文字幕乱码人妻二区三区| 水澄无码AV| 99日视频在线免费| 多毛小伙内射老太婆| 亚洲激情网一二三四区| 2003天天干夜夜操| 人人摸.人人色| 色av中文字| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 人人摸人人入| 嗯嗯嗯啊啊啊在线免费观看| av2014 日韩在线中文字幕| 香蕉久久AⅤ...| 熟女欧美日韩综合婷婷| 国产乱伦视频污| 激情丁香五月| 久久久999国产精品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 狠狠爱夜夜干| 激情综合网五月婷婷五月天| 国产精品熟妇一区二区三| 午夜视频黄| 欧美亚男人的天堂| 五月丁香六月综合缴清无码 | 亚州日韩97| 在线观看无码三级少妇| 国产丝袜美女诱惑| 玖玖爱在线视频免费观看| 伊人国产av| 精品999一区二区| 亚洲熟妇极品| {男男暴菊gay无套网站| 亚洲综合113页| 欧美一区二区男人天堂| 欧美日韩人人精品| 精品国产乱码| 97伪v| 午夜偷拍久久熟女| 欧美综色欧| 五月天综合在线| 易易A毛视频| 91N欧美| 在线免费观看高清无码视频| 超碰97久久观看| 操B在线观看| 色偷偷综合91久久噜噜| 国产激情综合| 欧美极品美女aaaaaa级黄片| 好看的久久不射无码影视影院| 亚洲AV无码翔田千里网站| AV中文字幕剧情1区2区3| 家庭乱伦网站国产| 极品少妇久久久久| 精品.99999| av强奸乱轮| 91网站在线播放| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 亚洲成人日韩小说| 久久一区二区蜜桃| 91欧美偷拍| 无码人妻丰满热妇又大又粗| 久久黄人人爽视频| 九一精品牛牛一区二区| 黄网在线播放| 国产精品一区二区亚洲人成毛片 | 欧美性爱日韩高清| 黄色交缠性感爆操91国产精品免费一区二区三区| 超碰在线成人| 女欧美一区二三区| 综合天天。| 美腿色图| 岛国黄| 黄页网站成人免费| 久久伊人青青草| 日本黄 R色 成 人网站| 久久天天艹| 青青草好吊色| 男人天堂免费| 日韩不卡码| 99自拍视频在线| 欧洲亚洲国产综合在线| 夜夜骑夜夜操| 欧美成人精品一区| 天堂网亚洲区手机版| 青青久操| oumeisetu综合| 国产欧美亚洲精品a第2页| a片在线播放| 久久久精品,3| 中文字幕欧美日本乱码一线二线| 91在线视频免费中出| 国产精品久久久鸭无码的功能| 国产精品永久免费10000| 伊人久久AV诱惑悠悠| 少妇高潮喷水无套久久久久久| 欧美亚洲美少妇一区二区| 成年女人一区| 亚洲熟妇自偷自拍另欧美| 日本高清有码网址视频| 日韩熟女乱伦中出| 精品国模无码| 亚洲一区在线观看欧洲 | 黑人狂躁日本妞一区二区三区| 国产精品九九| 高树玛利亚无码流出| 骚逼高潮久久精品| 婷婷丁香六月| 国产日韩欧美三级片| 尤物一级在线免费观看| 国语精品内射在线观看| 国产1769在线| 男女一级A片大黄,一进一出| 91爆操视频| 乱伦AVxx| 欧美亚洲日本激情在线| 久久老子无码午夜伦不卡| 亚洲成人美女无吗| 黄片不用下载在线观看| 自拍偷拍2025在线观看| 日韩av在线播放不卡| 日韩性爱视频在线免费观看| 亚洲美女自拍偷拍视频| 深夜国产一区二区三区在线看| 777AV电影| 欧美日韩激情无码专区| 久久久久久久国产视频| 久久久精品无码亚免费| 国产无套粉嫩白浆在| 亚洲色综合| 久久精品一区二区三区不卡| 亚洲情色五月天 | 激情婷婷综合久久| 欧美激情性久久久久久| 秋霞蝌科网日本一区| 久久精品性| 91neishe| 无码男人天堂| 啊啊啊免费| 国产高清成人免费视频| 精品国产一区二区三区在线播出| 成人亚欧免费视频| 丁香五月婷婷啪啪| 亚洲s在线观看| 欧美日韩亚洲五月天婷婷| 死我十八禁| 亚洲国产精品成人久久蜜臀| 无遮挡一级毛片视频免费的| 大香蕉啪啪啪| 国产丰满熟夫69mpp| 国产91丝袜在线播放蜜月| 外国免费性情大片| 秋霞成人做爱| 国产少妇肉丝在线观看| 欧美乱妇狂野欧美在线视频| 人妻少妇无码| 懂色中文一区二区三区| 成人夜夜爽| 久久久专区| 人人操人人摸超碰| 欧美经典一区二区三区| 啊啊啊啊嗯嗯嗯用力好爽 | 18禁看网站一区| 久久无码电影| 91色综合激情| 亚洲自拍欧美色综合| 日语五十路和六十路亚洲国产精品| 久久久久久久亚洲Av无码| 天天干天天做| 亚洲高清在线se| 69视频入口| 97干在线| 亚洲综合色在线| 亚洲 小说 欧美 激情 另类| 激情五月天丁香| 久久久96精品| 日本免费人成视频播放120秒| 先锋精品av色鲁| 国产九九九九九九| 岛国激情视频在线观看| 日本美女性生活久久久久久久| 精品人妻视频一区二区在线播放 | 国产精品又黄又猛又粗| 91校园春色长篇| 青青草国产一区二区三区| 偷拍视频青青草在线视频| 乱伦3P视频| 亚洲无线观看久久| 色综合色综合网| 嗯……啊…嗯嗯…啊…好舒服| 嗯~啊~轻一点 视频| 国产精品熟女九色九色蜜臀| 黄色乱论网站| 人妻精品一区二区| 超碰人人色| 丰满人妻一区| 操高情无码| 日产成人久久| 嫖老熟女A片一二三区| 91欧美美女日韩国产婷婷| 久久这里只有精品9| 亚洲成人久久美女| 亚洲中文字幕一区| 亚洲美女自拍偷拍视频| 亚洲性少妇| 韩日性爱av| 久久风骚城市| 91超级碰| 天美传媒婬乱在| 免费观看有码高清视频| 亚州男人天堂| 久久女人视频| 日韩有码 一区二区三区| a男人的天堂| 免费的黄片有限公司| 亚洲综合99999| 无码高清操逼网址| 亚洲www91| 亚乱色| 亚洲精品国产熟女久久久| 国产精品一区二区 尿失禁| 热热色国产一二区AV| 欧美十八禁视频| 国产精品乱码久久久久久久| 婷婷丁香五月天综合东京热| 夜夜黄| 超碰79人人乐| 无码137片内射在线影院| 操逼精品视频| 黄色av片三级三级三级免费看| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 激情抓乳插进去啪啪啪日韩| 国产精品久久久九九九| 国产在线精品偷| 水滴偷拍| 精久久久91| 欧美国产伊人久久久久| 9美女超碰在线免费观看| 精品精品精品| 免费精品无码一级毛片牛牛影视 | 熟妇色99| 婷婷精品国产一区二区三区日韩| 嫩草影院性色| 亚洲色欧美| 麻豆精品三区视频| 污啪啪啪视频| 思思性爱| 欧洲久久一二线| 四虎在线免费视频| 久久香蕉国产传媒一区剧情天美| 91搞逼视频| 偷拍亚洲情色| 国产传媒一区日韩| 日本韩欧美在线播放a| 亚洲婷婷丁香在线| 欧美伦乱爱| 97视频观看| 首页中文字幕中文字幕免费| 中文字幕一二三| 精品妇操一区二区三区| 97久久资源| 97任你吞精| 久久成年片色大黄全免费网站| 欧美中字不卡| 日本九九久久99| 亚洲91极品| 伊人黄色视频免费观看| 伊人一级免费黄片| 抽插亚洲无码| 欧美玖玖爱免费玖玖| 久久久久久久久久久久久久久性生活视频 | 国产三级中文字幕粉嫩| 久久精品一区| 99热欧美| 日韩AC| 国产日韩在线播放av| 97超碰久久| 蜜臀中文无码午夜| 欧美色图人妻| 天操老女人| 狠狠干狠狠色| 丁香五月大香蕉| 天天日B夜夜干B时时操B| 午夜福利1区2区3区| 日日夜夜精品视频| 国产精品播放| 亚洲午夜精品久久久中文影院| 亚洲日韩XXX| 蜜臀av网址| 另类 综合 日韩 欧美 亚洲| 97干色天堂| 人人手机欧洲亚洲国产人妻| 色性综合| 99在线精品视频| 精品人妻伦一二三区久久| 综合av社区| 手机在线播放国产福利| 免费av在线播放二区| 日韩一级欧美一级国产一级台湾 | 九九精品99| 99精品视频在线观看免费| 人人摸.人人色| 成人无码在线超碰网| 在线观看亚洲成人精品| 日本αv| 操B视频日韩无码| 免费福利视频中文字幕| 婷婷丁香九月| 激情小说成人日本无码一| 国产熟女完整版中字| 日韩激情电影中文字幕| 搡老女人老91妇女老熟女| 综合夜夜| 粉嫩av久久一区二区三区| 久久草草亚洲蜜桃臀| 欧美自拍偷拍综合图片| 双插性欧美一二三区| 情趣丝袜无码操逼视频| 日本www操操操| 色官网在线| 午夜精品一区二区三区三上悠亚| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 欧美麻豆成人同性GⅤ在线| 黄aaaaaaaaaaaaaaaaaa色网站| 日韩一级片在线看| 狠狠操狠狠| 久九九九九九九热| 国产一区二区三区久久精品太古里| 在线五区| 欧美性五月| 久久在线观看免费视频| 亚洲成人无码影院| 伊人激情| 国产精品网站www| 麻豆天美AV传媒第一页| 亚洲啪啪综合?v一区综合精品区| 丰满岳乱妇一区二区三区| 91九色精品熟女内射| 91大学精品激情戏| 天天α片| 欧美78P| 中国一级操逼视频| 欧美午夜一区二区三区| 久久久不能久久久久| 97视频在线视频| 诱惑网综合| 青椒国产97在线熟女| 欧美性爱五月天| 高潮综合网| 78精品在线| 一区二区三区黄色片a| 亚洲综合在线视频| 干B| 91亚洲网| #NAME?| 全国男人天堂网| 色色色欧美| 国产白领连续中出在线观看| 在线 欧美 亚洲| 欧美日韩插逼视频| 97自拍视频在线| 天天射夜夜| 秋霞网—男女啪啪亚洲免费体验区 | 国产97av| 天天干人人干天天日97| 玖玖97综合 | 日韩欧美视频青青| 亚洲精品黑丝| 亚洲欧洲日本精品中文a∨| 91操碰| 欧美韩日精品资源| A片大香蕉在线| 99爱视频| 亚洲做性| aⅴ日韩成人电影av在线免费看av大全 | 亚洲天堂久久| 美女网站黄页| 国产久久成人| 涩爱AV在线| 78精品| 欧美v亚洲v日韩v最新在线二区| 99抽插| 人人性爱视频免费| 日本天天吊| 天天插网| 日韩亚洲美州欧洲综三区一品在线| yazhouzaixian| 国产浮力影院第1页| 青青操在线亚洲视频观看欧美在线 | 欧美偷| 国产极品美女高潮无套在线观看| 操操操操操操| 午夜福利国产欧美日韩夜夜| 天天干天天日天天射黄色| 加勒比中文av| 日本青青草在线| 狠狠91| 黄污污污污| 超碰色图| 亚洲激情网一二三四区| 青草一区二区| 九色97| 国产色图乱伦| 美日韩成人| 亚洲国产丝袜熟女av| 日韩精品三区四区| 国产视频三区四区| 肏逼视频日本| 亚洲 欧美 小说| 樱花蜜乳av| 亚洲男人的天堂AV| 免费又黄又裸乳的视频| 嗯嗯,好大,好爽,好骚| 女同女同恋久久级三级| 97在线观看免费视频l| 欧美成人四级在线播放| 日产成人久久| 日韩成人综合网| 亚洲久久久久| 日日天天久久啊啊aaa| 超碰国产精品无码| 国产视频第2页| 国产九九九九九九九九| 天天干18禁| 亚码人妻| 亚洲五月婷| 午夜精品久久一区二区| 美女大乳久久久久久久女人18| av绯色| 蜜臀网址在线| wwe 天天干.com| 国模无码一区二区三区在线| 78精品| 久久一二三四五六七八九区区| 欧美久久伊人| 久久久精品网站| 好舒服视频| 五月婷婷六月天| 性久久久| 久久久91| 91天美传媒在线观看| 婷婷五月av| 99re免费视频精品全部| 怡春院久久| 国产丰满少妇久久久精品影院| 亚洲精品人妻吞精av| 操一操摸一摸| 日本不卡免费二区| 欧美色图亚洲特色| 五月综合色| 奇米四色影视777久久久| 九九五月天| 熟女欧美日韩综合婷婷| 五月婷婷六月天| 色狠狠 - 百度| 乱伦熟妇一区二区| 色路综合| 久久宗合亚洲| 91丝袜美女| 日本综合久久| 久久精视频美日韩在线视频| 免费无码婬片AAAA片直播色戒| 99热国产精品| 今日头条成人一区二区三区四虎精品| 一起草AV| 国产精品无码论坛| 日韩美女操b| 超碰在线人妻中文字幕| 好涩综合| 欧美精品欧美精品系列| 欧美日韩亚洲高清不卡一区二区三区| 婷婷久久五月天| 欧美aaaaaaa| 中文字幕在线观看永久| a级免费在线观看| 理论久久婷婷网8| 91色综合色| 欧美青青视频| 7月婷婷综合| 人妻久久久久久久久久久久久久久 | 熟女人妻一区二区三区| 亚州性色| 久久激情婷婷| 成人性交免费视频| 在线看污网站| 99re这里只有精品2| 久久蜜桃综合网| 少妇天堂网络| 色狠狠综合噜一二三区| 亚洲美乱| 麻豆精品久久久久久久| 五月天激情小说网| 人妻天堂综合网| 五月天婷婷久久| 久久98| 亚洲欧洲另类| www五月| 久久久18| 激情五月天网| 激情五月综合网| 屌色在线97视频| 大奶啊啊好爽| 97超碰色屌| 欧美色日本| 久久久久元码视频| 久久久精品一区二区| 91激情国产| 狠狠超| 日婷婷| 精品偷拍13p欧美dodk视频| 国产精品久久久久亚洲av| 欧美另类综合久久| 色婷婷狠狠| 成年女人一区| 亚洲 图片 欧美 色图| 欧美页片| 日韩精品影视| 91老熟妇| 美女视频尤物网在线看| 95自拍视频在线观看| 能直接看AV的网站| 色爱综合网| 97操97色| 色综合20p| 久久久久九九九九九| 变态综合色| 26uuu性物| 国产激情在线观看| 久久久艹艹艹| 麻豆 亚洲 97| 大香蕉一人在线| 成人性交免费视屏| 立川理惠被中出无码| 欧美精品一区二区少妇免费A片| 国产成人www免费人成看片| 国产午夜无码片在线观看影视| 日韩啪啪啪啪啪| 青草香蕉网| 99re在线视频这里只有精品| 夜夜高潮夜夜爽夜夜爱爱一区| 男人天堂网站| 午夜一区| 色爱欲亚洲| 99热线麻豆| 国产精品国产亚洲区艳妇糸列| 黄色区免费观看中文字幕| 色色激情| 你草精品在线视频| 国产综合久| 新久久AV| 日韩精品人妻中文字幕有码午| Julia Annxxxxx| 69麻豆天美| 午夜影美女日鸡鸡天天视频国产| 美女自卫慰黄网站免费| silk lablo在线观看一区二区| 五月天婷婷社区| 秋霞网—男女啪啪亚洲免费体验区| 亚洲乱熟女一区二区三区大香蕉| 国产九月婷婷| 青青久草| 丰满人妻无码一区二区三区 | 97国产精品久久久久| 少妇一区二区三区精选| 开心五月激情网| 亚洲男人综合网| 激情五月天中文字幕色| 日韩午夜啪啪视频| 96久久久精品| 91伊人久| 欧美三级不卡| 超碰碰97资源站| 国产亚洲99久久精品| 欧美熟妇亚洲版| 久久久国产av美女私房| 五月天激情小说| 国产国产亚洲一二三久久| 性久久| 大香伊人在线一区| 1240青青草一区二区三区视频天爱| 翔田千里Av在线| 99999精品成人| 女人综合网| 色色婷| 久久女女| 婷婷操逼| 欧美操逼录像国产黄色国产| 免费中文在线| 欧洲精品欧洲精品| 性爱乱伦网址| 久久久久久久六六| 强奸乱伦亚洲第一页| 久久久久久大| 久久人| 好吊妞转入那个网| 国产熟女无套内射| 亚春色色| 韩日精品四区| 搡老女人老熟女91老熟女综合网| 第一高清av中文字幕| 五月天精品| 精品精品精品| 熟女人妻精品一区二区视频| 狠狠色婷婷| 天天亚洲| 色爱综合网欧美| 久久透逼视频| 国产成人天堂| 一级特级aaaa毛片免费观看| 久啪视频| 五月天丁香| 粉嫩av在线| 色盈盈影院| 久久久无码av精| 欧美色图亚洲色,麻豆| 欧美一级色| 91白虎| 五月天综合网| 亚洲综合有码| 久久精品亚洲婷婷| 熟女乱3伦999| 亚洲国产丝袜在线观看| 成人性爱电影一区二区| 亚洲日韩精品一区二区| 91久精品| 超碰成人公开| 亚洲国产97| 黑人中出21连凳花野真衣| 欧美成人四级在线播放| 在线 欧美 亚洲| 亚洲麻豆精品二区三区| 久久伊人最新网址视频| 99只有精品| 婷婷在线播放| 国产成人 综合亚洲 天堂| 人妻素股| 韩国一级做A片免费的| 97爱爱| 国产久久久久影院老熟女| 天天爽人人综合免费7799| 俞拍久久国应视频| 色天堂综合| 97人人射| 亚洲无码太久| 日本一区不卡| 欧美男人亚洲天堂| 五月天丁香| 在线观看色视频| 青青色在线观看| daxiangjiao你懂的| 日本性爱少妇| heyZO天然素人无码AⅤ专区| 亚洲极品| 大香蕉99热| 国产欧美伊人| 日韩欧美一级特黄大片| 国产高清成人免费视频| 人人九九精| 操香逼| 五月婷丁香| 亚洲精品无码成人久久久99| 少妇蹲下露出大唇5| 超碰这里只有精品| 伊人天堂在线| 日韩卡一卡二卡三在线| 国产无码成人无码| 国产精品高朝久久久久久久| 成人AV在线电影| 黄色性爱网网| 久久这里只精品免费福利| 传媒在线观看一区二区三区| 色悠久久久av| 国产高清不卡视频| 亚洲天堂,男人| 五月婷婷综合网| 亚洲高清国产理伦片| 天天看精品动漫视频一区| 亚州图片第一页| 久久精品人妻一区二区| 男人的天堂2018.| 久久小视频| 美女刺激久久国产欧美| 亚洲九月丁香| 欧美综合娱乐久久| av天堂天堂av日韩| 午夜国产成人精品视频| 亚洲久久久| 日韩小电影| 天天干夜夜鈤| 日日爽熟女| 男人的天堂VA| 人妻熟女一区二区在线视频| 欧美v亚洲v日韩v最新在线二区| 插入综合网| 色丁香五月婷婷| 凹凸视频特色日本特黄| 亚洲国产精品成人综合| 国产肏逼网站| 精品人成视频在线观看| 无码天堂| av网站免费线看| 在线女人91| 久久五月份| 97视频在线观看播放与子乱对白在线……|