1 数据准备
CREATE TABLE `stuscore` (
`id` int(11) DEFAULT NULL,
`name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`score` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`subject` varchar(255) COLLATE utf8_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (1, 'zs', '80', 'english');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (2, 'zs', '90', 'math');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (3, 'wu', '70', 'english');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (4, 'wu', '90', 'math');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (5, 'xx', '80', 'dl');
INSERT INTO `mysecurity`.`stuscore` (`id`, `name`, `score`, `subject`) VALUES (6, 'zs', '89', 'yuwen');
2 实验
2.1 使用LIMIT进行分页
2.1.1 LIMIT n
单独使用LIMIT n代表获取前n条数据如:
SELECT * FROM stuscore LIMIT 2;
拿取的是stuscore前2条数据。
2.2.2 LIMIT n,m
表示跳过前n个获取m个数据如:
SELECT * FROM stuscore LIMIT 0,2;
分页公式LIMIT (当前页码-1)*页面数据量,页面数据量
2.2 LIMIT m OFFSET n
OFFSET为跳过的数据量,LIMIT为要选区的数据量。
分页公式
LIMIT(每页数据量) OFFSET 为(当前页码-1)*每页数据量。
查询第一页(每页两条数据)
SELECT * FROM stuscore LIMIT 2 OFFSET 0;
查询第二页
-- 第二页LIMIT(每页两条数据) OFFSET 为(当前页码-1)*页大小
SELECT * FROM stuscore LIMIT 2 OFFSET 2;