使用 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)

更新于: 25-6-2020

6000+ 人次浏览

启动你的 职业生涯

完成课程,获取认证

开始学习
广告