分页使用MySQL LIMIT,OFFSET吗?
首先,我们需要创建一个包含一些记录的表,然后在限制和偏移量的帮助下使用分页。
借助CREATE命令创建表。查询如下-
mysql> CREATE table limitoffsetDemo -> ( -> id int, -> FisrtName varchar(200) -> );
创建表后,我们将在INSERT命令的帮助下插入记录。
插入记录
mysql> INSERT into limitoffsetDemo values(1,'John'); mysql> INSERT into limitoffsetDemo values(2,'Bob'); mysql> INSERT into limitoffsetDemo values(3,'David'); mysql> INSERT into limitoffsetDemo values(4,'carol'); mysql> INSERT into limitoffsetDemo values(5,'Taylor'); mysql> INSERT into limitoffsetDemo values(1,'John'); mysql> INSERT into limitoffsetDemo values(7,'Smith'); mysql> INSERT into limitoffsetDemo values(8,'John'); mysql> INSERT into limitoffsetDemo values(9,'Johnson'); mysql> INSERT into limitoffsetDemo values(10,'Jason'); mysql> INSERT into limitoffsetDemo values(11,'Bk');
插入记录后,我们可以借助SELECT命令检查表中有多少条记录。查询如下-
mysql> SELECT * from limitoffsetDemo;
执行完上面的查询后,我们将得到以下输出
+------+-----------+ | id | FisrtName | +------+-----------+ | 1 | John | | 2 | Bob | | 3 | David | | 4 | carol | | 5 | Taylor | | 1 | John | | 7 | Smith | | 8 | John | | 9 | Johnson | | 10 | Jason | | 11 | Bk | +------+-----------+ 11 rows in set (0.00 sec)
现在,我有11条记录。要在限制和偏移量的帮助下设置分页,请应用以下语法-
SELECT * from yourTableName limit value1,value2;
在上面的查询中,value1告诉我们需要从哪里显示记录,value2告诉我们记录的数量。
现在,我将上面的查询应用于获取结果,如下所示-
mysql> SELECT * from limitoffsetDemo limit 7,4;
以下是输出
+------+-----------+ | id | FirstName | +------+-----------+ | 8 | John | | 9 | Johnson | | 10 | Jason | | 11 | Bk | +------+-----------+ 4 rows in set (0.00 sec)