溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql中的limit怎么是使用

發(fā)布時(shí)間:2021-12-02 16:06:18 來源:億速云 閱讀:207 作者:iii 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹“mysql中的limit怎么是使用”,在日常操作中,相信很多人在mysql中的limit怎么是使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”mysql中的limit怎么是使用”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

在mysql中,limit關(guān)鍵字主要用于指定查詢結(jié)果從哪條記錄開始顯示,一共顯示多少條記錄;它有3種使用語法“LIMIT 初始位置,記錄數(shù)”、“LIMIT 記錄數(shù)”和“LIMIT 記錄數(shù) OFFSET 初始位置”。

mysql中的limit怎么是使用

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

當(dāng)數(shù)據(jù)表中有上萬條數(shù)據(jù)時(shí),一次性查詢出表中的全部數(shù)據(jù)會(huì)降低數(shù)據(jù)返回的速度,同時(shí)給數(shù)據(jù)庫服務(wù)器造成很大的壓力。這時(shí)就可以用 LIMIT 關(guān)鍵字來限制查詢結(jié)果返回的條數(shù)。

LIMIT 是 MySQL 中的一個(gè)特殊關(guān)鍵字,用于指定查詢結(jié)果從哪條記錄開始顯示,一共顯示多少條記錄。

LIMIT 關(guān)鍵字有 3 種使用方式,即指定初始位置、不指定初始位置以及與 OFFSET 組合使用。

指定初始位置

LIMIT 關(guān)鍵字可以指定查詢結(jié)果從哪條記錄開始顯示,顯示多少條記錄。

LIMIT 指定初始位置的基本語法格式如下:

LIMIT 初始位置,記錄數(shù)

其中,“初始位置”表示從哪條記錄開始顯示;“記錄數(shù)”表示顯示記錄的條數(shù)。第一條記錄的位置是 0,第二條記錄的位置是 1。后面的記錄依次類推。

注意:LIMIT 后的兩個(gè)參數(shù)必須都是正整數(shù)。

例 1

在 tb_students_info 表中,使用 LIMIT 子句返回從第 4 條記錄開始的行數(shù)為 5 的記錄,SQL 語句和運(yùn)行結(jié)果如下。

mysql> SELECT * FROM tb_students_info LIMIT 3,5;
+----+-------+---------+------+------+--------+------------+
| id | name  | dept_id | age  | sex  | height | login_date |
+----+-------+---------+------+------+--------+------------+
|  4 | Jane  |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim   |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John  |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily  |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan |       4 |   23 | F    |    170 | 2015-10-01 |
+----+-------+---------+------+------+--------+------------+
5 rows in set (0.00 sec)

由結(jié)果可以看到,該語句返回的是從第 4 條記錄開始的之后的 5 條記錄。LIMIT 關(guān)鍵字后的第一個(gè)數(shù)字“3”表示從第 4 行開始(記錄的位置從 0 開始,第 4 行的位置為 3),第二個(gè)數(shù)字 5 表示返回的行數(shù)。

不指定初始位置

LIMIT 關(guān)鍵字不指定初始位置時(shí),記錄從第一條記錄開始顯示。顯示記錄的條數(shù)由 LIMIT 關(guān)鍵字指定。

LIMIT 不指定初始位置的基本語法格式如下:

LIMIT 記錄數(shù)

其中,“記錄數(shù)”表示顯示記錄的條數(shù)。如果“記錄數(shù)”的值小于查詢結(jié)果的總數(shù),則會(huì)從第一條記錄開始,顯示指定條數(shù)的記錄。如果“記錄數(shù)”的值大于查詢結(jié)果的總數(shù),則會(huì)直接顯示查詢出來的所有記錄。

例 2

顯示 tb_students_info 表查詢結(jié)果的前 4 行,SQL 語句和運(yùn)行結(jié)果如下。

mysql> SELECT * FROM tb_students_info LIMIT 4;
+----+-------+---------+------+------+--------+------------+
| id | name  | dept_id | age  | sex  | height | login_date |
+----+-------+---------+------+------+--------+------------+
|  1 | Dany  |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane  |       1 |   22 | F    |    162 | 2016-12-20 |
+----+-------+---------+------+------+--------+------------+
4 rows in set (0.00 sec)

結(jié)果中只顯示了 4 條記錄,說明“LIMIT 4”限制了顯示條數(shù)為 4。

例 3

顯示 tb_students_info 表查詢結(jié)果的前 15 行,SQL 語句和運(yùn)行結(jié)果如下。

mysql> SELECT * FROM tb_students_info LIMIT 15;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.26 sec)

結(jié)果中只顯示了 10 條記錄。雖然 LIMIT 關(guān)鍵字指定了顯示 15 條記錄,但是查詢結(jié)果中只有 10 條記錄。因此,數(shù)據(jù)庫系統(tǒng)就將這 10 條記錄全部顯示出來。

帶一個(gè)參數(shù)的 LIMIT 指定從查詢結(jié)果的首行開始,唯一的參數(shù)表示返回的行數(shù),即“LIMIT n”與“LIMIT 0,n”返回結(jié)果相同。帶兩個(gè)參數(shù)的 LIMIT 可返回從任何位置開始指定行數(shù)的數(shù)據(jù)。

LIMIT和OFFSET組合使用

LIMIT 可以和 OFFSET 組合使用,語法格式如下:

LIMIT 記錄數(shù) OFFSET 初始位置

參數(shù)和 LIMIT 語法中參數(shù)含義相同,“初始位置”指定從哪條記錄開始顯示;“記錄數(shù)”表示顯示記錄的條數(shù)。

例 4

在 tb_students_info 表中,使用 LIMIT OFFSET 返回從第 4 條記錄開始的行數(shù)為 5 的記錄,SQL 語句和運(yùn)行結(jié)果如下。

mysql> SELECT * FROM tb_students_info LIMIT 5 OFFSET 3;
+----+-------+---------+------+------+--------+------------+
| id | name  | dept_id | age  | sex  | height | login_date |
+----+-------+---------+------+------+--------+------------+
|  4 | Jane  |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim   |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John  |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily  |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan |       4 |   23 | F    |    170 | 2015-10-01 |
+----+-------+---------+------+------+--------+------------+
5 rows in set (0.00 sec)

由結(jié)果可以看到,該語句返回的是從第 4 條記錄開始的之后的 5 條記錄。即“LIMIT 5 OFFSET 3”意思是獲取從第 4 條記錄開始的后面的 5 條記錄,和“LIMIT 3,5”返回的結(jié)果相同。

到此,關(guān)于“mysql中的limit怎么是使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI