一、分页查询

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

LIMIT [offset,] rows;

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

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

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

二、存储过程

特点:1、适合需要长期保存在数据库中

   2、需要被多个用户重复调用

3、业务逻辑相同,参数不同

4、大批量的数据的操作、插入、修改和删除

与函数的区别:

      1、函数只能返回一个值,且必须设置返回值,在存储过程可以返回多个值。

2、最大的区别:函数要放入sql语句或者某个表达式进行调用,而存储过程可以独立执行且不能被sql语句调用,直接通过call或者declare直接执行。

1、无参

 create procedure pd_selectAll3()
begin
select * from student;
end;
--调用
call pd_selectAll3();

2、带参数

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

3、带输出

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

 show variables;  --查看全局变量

set对属性进行赋值操作:

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

执行结果:abc

4、参数带输出

 --带输出
create procedure pd_testout(out str varchar(20))
begin
select str11;
--set是赋值
set str11='今晚吃鸡’;
end;
--调用
call pd_testout(@vount2);
select @vout2;

执行结果:今晚吃鸡

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

 --既是输出也是输入 inout
create procedure pd_testinout(inout str12 varchar(20))
begin
select str12;
--set是赋值
set str12='666’;
end;
--调用
set @str=123; --输入
call pd_testinout(@str);
select @str; --输出

执行结果:123

MySQL 分页查询和存储过程的更多相关文章

  1. MySQL分页查询存储过程

    -- 分页查询delimiter $create procedure p_List(in i_Name varchar(50),in i_CName varchar(20),in pageIndex ...

  2. (记录)mysql分页查询,参数化过程的坑

    在最近的工作中,由于历史遗留,一个分页查询没有参数化,被查出来有sql注入危险,所以对这个查询进行了参数化修改. 一看不知道,看了吓一跳,可能由于种种原因,分页查询sql是在存储过程中拼接出来的,wh ...

  3. mysql 分页查询

    mysql,; : mysql,; -last. //如果只给定一个参数,它表示返回最大的记录行数目: mysql; 个记录行 ,n. 动态传参的分页查询 SELECT * FROM table LI ...

  4. sql连表分页查询(存储过程)

    1.平时分页查询都比较多针对一个表的数据 而这个分页查询是针对连表查询的 ,这也是我网上改版别人的sql语句 先在数据库新建一个存储过程 拷贝以下代码 CREATE PROCEDURE [dbo].[ ...

  5. mysql分页查询详解

    我们做的后端项目一般都会有admin管理端,当管理端将要展示数据的时候,就需要用到分页.所以分页的考查在面试中也相当多.在mysql中进行分页查询时,一般会使用limit查询,而且通常查询中都会使用o ...

  6. Java GUI+mysql+分页查询

    1.要求 : 创建一个学生信息管理数据库 2.实现分页查询 代码如下: a)学生实体类: /** * @author: Annie * @date:2016年6月23日 * @description: ...

  7. Mysql分页查询性能分析

    [PS:原文手打,转载说明出处,博客园] 前言 看过一堆的百度,最终还是自己做了一次实验,本文基于Mysql5.7.17版本,Mysql引擎为InnoDB,编码为utf8,排序规则为utf8_gene ...

  8. MySql分页查询慢|这里告诉你答案

    一.背景 我们在开发的过程中使用分页是不可避免的,通常情况下我们的做法是使用limit加偏移量:select * from table where column=xxx order by xxx li ...

  9. MySQL分页查询性能优化

    当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点.下面简单说一下我知道的一些方 ...

随机推荐

  1. P3455 [POI2007]ZAP-Queries(莫比乌斯反演)

    思路 和YY的GCD类似但是更加简单了 类似的推一波公式即可 \[ F(n)=\sum_{n|d}f(d) \] \[ f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d) \] \ ...

  2. 【C#】C#学习笔记_1

    C#的程序入口为某一个类里面的static void Main(string[] args){}方法,如果一个工程有多个Main方法,那么需要在工程配置中选择一个作为程序入口. C#的输入.输出操作在 ...

  3. skype for business 无法共享桌面、无法传输图片

    以管理员身份运行如下PowerShell命令,清除Skype for Business缓存记录 #以管理员身份运行如下PowerShell命令,清除Skype for Business缓存记录 Sto ...

  4. 2019年前端面试题 | CSS篇 (更新于4月15日)

    虽说刷面试题有走捷径之嫌,但我发现,对于我这样没有工作经历的人来说,其实是拓展自己实战技能和加深知识理解的一个好机会. 分享出来,也希望大家不要背完了事,正经的去细细琢磨各种原由. 本篇是一个题目合集 ...

  5. SMTP发送邮件

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件, ...

  6. hdu 6071 Lazy Running 最短路建模

    Lazy Running Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) P ...

  7. python 删除文件夹

    只能删除空文件夹,删除非空文件夹会报错 >>> import os >>> os.rmdir("/tmp/ssh-GyoPWOFZ47") Tr ...

  8. mysql 中判断表是否存在 以及表存在则删除

    select * from information_schema.tables where table_name ='student';select * from information_schema ...

  9. django序列化 serializers

    Django的序列化工具让你可以将Django的模型‘翻译’成其它格式的数据.通常情况下,这种其它格式的数据是基于文本的,并且用于数据交换\传输过程. 一.序列化数据 Django为我们提供了一个强大 ...

  10. main方法介绍

    main方法是程序的入口点,程序从这里开始,也是从这里结束. 执行过程:程序在执行编译的过程中先找main方法,然后执行main‘{’下的第一行代码,以此执行,如果遇到main方法中有调用其他的方法时 ...