您好,登錄后才能下訂單哦!
本篇文章為大家展示了mysql中l(wèi)imit的使用方法,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
limit語法支持兩個參數(shù),offset和limit,前者表示偏移量,后者表示取前l(fā)imit條數(shù)據(jù).
mysql中的limit可以被用于強(qiáng)制SELECT語句返回指定的記錄數(shù),LIMIT接受一個或兩個數(shù)字參數(shù),參數(shù)必須是一個整數(shù)常量,如果給定兩個參數(shù),第一個參數(shù)指定第一個返回記錄行的偏移量,第二個參數(shù)指定返回記錄行的最大數(shù)目。
在我們使用查詢語句的時候,經(jīng)常要返回前幾條或者中間某幾行數(shù)據(jù),這個時候怎么辦呢?不用擔(dān)心,mysql已經(jīng)為我們提供了這樣一個功能
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT 子句可以被用于強(qiáng)制 SELECT 語句返回指定的記錄數(shù)。LIMIT 接受一個或兩個數(shù)字參數(shù)。參數(shù)必須是一個整數(shù)常量。如果給定兩個參數(shù),第一個參數(shù)指定第一個返回記錄行的偏移量,第二個參數(shù)指定返回記錄行的最大數(shù)目。初始記錄行的偏移量是 0(而不是 1): 為了與 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
mysql> SELECT * FROM table LIMIT 5,10; // 檢索記錄行 6-15 //為了檢索從某一個偏移量到記錄集的結(jié)束所有的記錄行,可以指定第二個參數(shù)為 -1: mysql> SELECT * FROM table LIMIT 95,-1; // 檢索記錄行 96-last. //如果只給定一個參數(shù),它表示返回最大的記錄行數(shù)目: mysql> SELECT * FROM table LIMIT 5; //檢索前 5 個記錄行 //換句話說,LIMIT n 等價于 LIMIT 0,n。
mysql> SELECT * FROM table LIMIT 5,10; // 檢索記錄行 6-15
//為了檢索從某一個偏移量到記錄集的結(jié)束所有的記錄行,可以指定第二個參數(shù)為 -1: mysql> SELECT * FROM table LIMIT 95,-1; // 檢索記錄行 96-last. //如果只給定一個參數(shù),它表示返回最大的記錄行數(shù)目: mysql> SELECT * FROM table LIMIT 5; //檢索前 5 個記錄行 //換句話說,LIMIT n 等價于 LIMIT 0,n。
常說的Limit的執(zhí)行效率高,是對于一種特定條件下來說的:即數(shù)據(jù)庫的數(shù)量很大,但是只需要查詢一部分?jǐn)?shù)據(jù)的情況。
高效率的原理是:避免全表掃描,提高查詢效率。
比如:每個用戶的email是唯一的,如果用戶使用email作為用戶名登陸的話,就需要查詢出email對應(yīng)的一條記錄。
SELECT * FROM t_user WHERE email=?;
上面的語句實(shí)現(xiàn)了查詢email對應(yīng)的一條用戶信息,但是由于email這一列沒有加索引,會導(dǎo)致全表掃描,效率會很低。
SELECT * FROM t_user WHERE email=? LIMIT 1;
加上LIMIT 1,只要找到了對應(yīng)的一條記錄,就不會繼續(xù)向下掃描了,效率會大大提高。
上述內(nèi)容就是mysql中l(wèi)imit的使用方法,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。