MySQL 分页查询和存储过程

一、分页查询

使用limit函数,limit关键字的用法:

LIMIT [offset,] rows;

offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。

例:分别取前40条数据和后40条数据

1                                  0-起始个数  40-查询个数
2                       --第一页     (1-1)*40,40
3 select * from table_name limit 0,40 
4                       --第二页     (2-1)*40,40
5 select * from table_name limit 40,80  --此处后面的5代指个数
6                       --第三页     (3-1)*40,40

二、存储过程

1、无参

1 create procedure pd_selectAll3()
2     begin
3         select * from student;
4     end;
5 --调用
6 call pd_selectAll3();

2、带参数

1 create procedure pd_findByid(in sid int)  --此处参数格式与Oracle不同
2     begin
3         select * from student where id=sid;
4     end;
5 --调用
6 call pd_findByid(2);

3、带输出

首先说一下,查看全局变量:

1 show variables;  --查看全局变量

set对属性进行赋值操作:

1 set @name2='abc';
2 select @name2;

执行结果:abc

4、参数带输出

 1 --带输出
 2 create procedure pd_testout(out str varchar(20))
 3     begin
 4         select str11;
 5         --set是赋值
 6         set str11='今晚吃鸡’;
 7     end;
 8 --调用
 9 call pd_testout(@vount2);
10 select @vout2;  

执行结果:今晚吃鸡

5、参数既是输出也是输入

 1 --既是输出也是输入 inout
 2 create procedure pd_testinout(inout str12 varchar(20))
 3     begin
 4         select str12;
 5         --set是赋值
 6         set str12='666’;
 7     end;
 8 --调用
 9 set @str=123;     --输入
10 call pd_testinout(@str);
11 select @str;        --输出

执行结果:123

猜你喜欢

转载自www.cnblogs.com/echola/p/9550611.html