在單表數(shù)據(jù)很多的時(shí)候,一個(gè)SQL查詢(xún)可能會(huì)查詢(xún)出成百上千條的結(jié)果,這個(gè)時(shí)候整個(gè)屏幕都會(huì)布滿(mǎn)數(shù)據(jù),難以定位到我們需要的結(jié)果,這個(gè)時(shí)候如果查詢(xún)能一次只查一定數(shù)量的語(yǔ)句,就能大大減輕我們的閱讀負(fù)擔(dān)。這樣的技術(shù)SQL是存在的,他有個(gè)專(zhuān)門(mén)的說(shuō)法,叫分頁(yè)查詢(xún)。那么SQL的分頁(yè)查詢(xún)?cè)趺磳?shí)現(xiàn)呢?以MySQL為例,小編這就介紹一下MySQL分頁(yè)怎么實(shí)現(xiàn)。
閱前須知
以下代碼介紹基于小編環(huán)境,所以這些代碼不一定能在各位小伙伴們的電腦上跑,該文章學(xué)習(xí)的是實(shí)現(xiàn)分頁(yè)的方法介紹,不是分頁(yè)代碼介紹??!
小編的數(shù)據(jù)庫(kù)情況大致如下:有一個(gè)名為W3Cschool的數(shù)據(jù)庫(kù),內(nèi)有一個(gè)表,名為classname,用來(lái)存放課程名稱(chēng)。該表內(nèi)容如下:
如何進(jìn)行分頁(yè)查詢(xún)
SQL的select語(yǔ)句可以傳入limit參數(shù),舉個(gè)例子,查詢(xún)上表的前五條元素可以使用如下SQL語(yǔ)句。
?select * from classname limit 0,5;
?
該語(yǔ)句可以這么理解: ?select(查詢(xún)) *(全部數(shù)據(jù)) from(從) classname(一個(gè)表的表名) limit(范圍是) 0(從第零條開(kāi)始),5(查詢(xún)五條);
?
當(dāng)查詢(xún)不到五條時(shí),它只會(huì)返回符合條件的所有結(jié)果,比如如果從第二十條開(kāi)始查詢(xún),只會(huì)返回兩條結(jié)果(編號(hào)為22的那條有數(shù)值,為空,小編表格設(shè)定的時(shí)候允許class屬性可以為空)
分頁(yè)查詢(xún)的應(yīng)用
分頁(yè)查詢(xún)的最大應(yīng)用其實(shí)并不是數(shù)據(jù)庫(kù)管理員查看數(shù)據(jù)方便。而是方便其他調(diào)用數(shù)據(jù)庫(kù)的軟件取出定量的數(shù)據(jù),以javaweb為例,一個(gè)前端的列表可能只能容納五條信息,所以后端只能給前端傳遞五條信息,而后端在數(shù)據(jù)庫(kù)取用數(shù)據(jù)的時(shí)候,可以一次只查詢(xún)五條信息,這樣就從根源上進(jìn)行了分頁(yè)效果的實(shí)現(xiàn)。
小結(jié)
以上就是SQL分頁(yè)查詢(xún)?cè)趺磳?shí)現(xiàn)的全部?jī)?nèi)容了,如果有不懂的可以前往SQL微課進(jìn)行學(xué)習(xí),名師講解,更易理解!