使用 MySQL LIMIT、OFFSET 进行分页?
首先,我们需要创建一个带有某些记录的表,然后我们将在 limit 和 offset 的帮助下对其进行分页。
使用 CREATE 命令创建表。查询如下 −
mysql> CREATE table limitoffsetDemo -> ( -> id int, -> FisrtName varchar(200) -> ); Query OK, 0 rows affected (0.45 sec)
创建表后,我们将使用 INSERT 命令插入记录。
插入记录
mysql> INSERT into limitoffsetDemo values(1,'John'); Query OK, 1 row affected (0.11 sec) mysql> INSERT into limitoffsetDemo values(2,'Bob'); Query OK, 1 row affected (0.16 sec) mysql> INSERT into limitoffsetDemo values(3,'David'); Query OK, 1 row affected (0.13 sec) mysql> INSERT into limitoffsetDemo values(4,'carol'); Query OK, 1 row affected (0.19 sec) mysql> INSERT into limitoffsetDemo values(5,'Taylor'); Query OK, 1 row affected (0.10 sec) mysql> INSERT into limitoffsetDemo values(1,'John'); Query OK, 1 row affected (0.24 sec) mysql> INSERT into limitoffsetDemo values(7,'Smith'); Query OK, 1 row affected (0.13 sec) mysql> INSERT into limitoffsetDemo values(8,'John'); Query OK, 1 row affected (0.12 sec) mysql> INSERT into limitoffsetDemo values(9,'Johnson'); Query OK, 1 row affected (0.11 sec) mysql> INSERT into limitoffsetDemo values(10,'Jason'); Query OK, 1 row affected (0.08 sec) mysql> INSERT into limitoffsetDemo values(11,'Bk'); Query OK, 1 row affected (0.17 sec)
插入记录后,我们可以使用 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 条记录。要借助 limit 和 offset 应用分页,请应用以下语法 −
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)
广告