欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中實現分頁操作的實戰(zhàn)指南

 更新時間:2022年08月26日 11:33:40   作者:自牧君  
MySQL的分頁似乎一直是個問題,下面這篇文章主要給大家介紹了關于MySQL中實現分頁操作的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下

一、 背景

什么是分頁,就是查詢時候數據量太大,一次性返回所有查詢結果既耗費網絡資源、又降低了查詢效率,用戶也不可能一下子看完成千上萬條數據。所以分頁的技術就應運而生。分頁可以只顯示指定數量的數據。

分頁在我們的生活中隨處可見,如下圖所示的電商網站:

二、 實現規(guī)則

2.1 關鍵字 LIMIT

在MySQL中,使用關鍵字 LIMIT 實現分頁操作。格式為:

LIMIT 位置偏移量, 每頁條目數;

當 位置偏移量 等于 0 時,該語句可簡寫為:

LIMIT 每頁條目數;

【例子1】查詢員工表 employees 中的員工的 employee_id 、last_name 、salarydepartment_id 信息。并按每頁 20 條來顯示。

# 寫法一
SELECT employee_id, last_name, salary
FROM employees
LIMIT 0, 20;

# 寫法二
SELECT employee_id, last_name, salary
FROM employees
LIMIT 20;

其中,LIMIT 后第一個參數是初始偏移量,即從第幾條數據開始顯示;第二個參數是每頁要顯示多少條數據。

查詢結果:

image-20220627202204639

顯示了員工編號 100~119 的員工。

【例子2】繼續(xù)上面的例子1,上面的代碼只是顯示了第一頁的數據,如果現在用戶想要顯示第2頁的數據,應該怎么操作呢?可以使用 LIMIT 后第一個參數是初始偏移量來讓數據庫從第21條數據 (因為第1條數據的編號為 0 ,所以第20條數據的編號就是20) 開始顯示。如下代碼所示:

SELECT employee_id, last_name, salary
FROM employees
LIMIT 20, 20;

查詢結果:

image-20220627202614912

顯示了員工編號 120~139 的員工。

【總結】總結一個分頁的公式,設每頁顯示的數據個數為 pageSize,當前是第 pageNo 頁,那么就有如下 LIMIT 查詢公式:

LIMIT (pageNo - 1) * pageSize, pageSize;

2.2 查詢數據庫表的第 x x x 條記錄

【例子1】查詢員工表 employees 中的第 32、33條員工的數據。

SELECT employee_id, last_name, salary
FROM employees
LIMIT 31, 2;

查詢結果:

image-20220627205212371

2.3 WHERE…ORDER BY…LIMIT… 的聲明順序 (非執(zhí)行順序)

正確的聲明順序如下代碼所示:

SELECT employee_id, last_name, salary
FROM employees
WHERE salary >= 5000
ORDER BY salary DESC
LIMIT 0, 10;

查詢結果:

image-20220627204057553

三、 拓展

MySQL8.0中對于分頁新增了一個新特性,對 LIMIT 后增加了偏移量 OFFSET :

LIMIT 每頁條目數 OFFSET 初始偏移量;

對比一下原有的格式,無非就是把 初始偏移量 和 每頁條目數 位置調轉一下,然后把逗號去掉即可。

LIMIT 可以使用在 MySQL、PostgreSQL、MariaDB 和 SQLite 中。LIMIT 不可以使用在 Oracle、DB2、SQL Server 中!

總結

到此這篇關于MySQL中實現分頁操作的文章就介紹到這了,更多相關MySQL分頁操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • windows環(huán)境中mysql忘記root密碼的解決方法詳解

    windows環(huán)境中mysql忘記root密碼的解決方法詳解

    本篇文章是對windows環(huán)境中mysql忘記root密碼的解決方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL中WITH用法小結

    MySQL中WITH用法小結

    WITH子句是MySQL中的一種SQL結構,本文主要介紹了MySQL中WITH用法小結,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • MySQL group by和order by如何一起使用

    MySQL group by和order by如何一起使用

    這篇文章主要介紹了MySQL group by和order by如何一起使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • MySQL聯結表介紹以及使用詳解

    MySQL聯結表介紹以及使用詳解

    這篇文章主要給大家介紹了關于MySQL聯結表介紹及使用的相關資料,聯結SQL最強大的功能之一就是能在數據檢索查詢的執(zhí)行中聯結表,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • MySQL全文索引like模糊匹配查詢慢解決方法

    MySQL全文索引like模糊匹配查詢慢解決方法

    這篇文章主要為大家介紹了MySQL全文索引like模糊匹配查詢慢解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • MySQL千萬級大表進行數據清理的幾種常見方案

    MySQL千萬級大表進行數據清理的幾種常見方案

    當MySQL數據庫中的表數據量達到千萬級別時,直接對數據進行刪除操作將面臨嚴重的性能問題,可能會導致數據庫長時間的鎖表,因此,如何安全高效地進行數據清理成為一個亟需解決的問題,下面我將分享幾種常見的數據清理方案,需要的朋友可以參考下
    2023-11-11
  • 解決MySQL登錄報錯1130:1130?Host?***.***.***.***?is?not?allowed?to?connect?to?this?MySQL?server

    解決MySQL登錄報錯1130:1130?Host?***.***.***.***?is?not?allowe

    有時候在登錄到MySQL服務器時會遇到1130錯誤,這是因為無法連接到MySQL服務器或其他一些原因,這篇文章主要給大家介紹了關于解決MySQL登錄報錯1130:1130?Host?***.***.***.***?is?not?allowed?to?connect?to?this?MySQL?server的相關資料,需要的朋友可以參考下
    2023-12-12
  • 微信開發(fā)中mysql字符編碼問題

    微信開發(fā)中mysql字符編碼問題

    本文給大家介紹微信開發(fā)過程中mysql字符編碼問題,本文介紹的非常詳細,感興趣的朋友一起來學習吧
    2015-08-08
  • MySQL數據誤刪除的快速解決方法(MySQL閃回工具)

    MySQL數據誤刪除的快速解決方法(MySQL閃回工具)

    Binlog2sql是一個Python開發(fā)開源的MySQL Binlog解析工具,能夠將Binlog解析為原始的SQL,也支持將Binlog解析為回滾的SQL,去除主鍵的INSERT SQL,是DBA和運維人員數據恢復好幫手,下面小編通過教程給大介紹MySQL數據誤刪除的快速解決方法,一起看看吧
    2019-10-10
  • mysql中數據庫覆蓋導入的幾種方式總結

    mysql中數據庫覆蓋導入的幾種方式總結

    這篇文章主要介紹了mysql中數據庫覆蓋導入的幾種方式總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論