原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
在前面的例子中我们查询数据都是有多少返回多少。但是在实际生产环境中,这样做是不可取的。因为demo中我们的数据只要10条、20条,但是在生产环境中,我们的数据可能就是10万条、20万条。试问这么多数据如果一次性返回会造成什么后果?首先,我们查询数据要很长时间。然后,通过返回给前端又要很长时间,关键是,那么多的数据返回给客户端,如果客户端配置差一点,好了可能好不容易等到数据来了,结果内存不足,客户端炸了。总之,这样会造成非常不好的客户体验。所以呢,我们需要把数据库中的数据分成一页一页的,每次只返回一页,客户端来控制它想获取的页数也每页多少条。比如前几章中学生表我们每次返回两条,分五页返回:
SELECT * FROM student LIMIT 0,2;
SELECT * FROM student LIMIT 2,2;
SELECT * FROM student LIMIT 4,2;
.
.
.
后面的依次类推。
可以看出,分页,主要是用了LIMIT关键字。这个关键字是这样的:LIMIT 开始位置,查询条数,
比如LIMIT 0,2说明是从第一条开始查询(下标都是由0开始),查询两条,那么返回的结果就是第一条和第二条。我们可以吧这个看做是一页,那么下一页就是第三条和第四条了,那就是LIMIT 2,2。
LIMIT也可以和我们上述的其它语句一起结合使用,并且一定是放在最后面的,比如:
SELECT * FROM student WHERE name like '%妖怪%' LIMIT 0,2;
如果这样就会报错啦:
SELECT * FROM student LIMIT 0,2 WHERE name like '%妖怪%';
说的是语法错误。