mysql中limit关键字_【JAVA】关于mysql的limit关键字使用。
在WEB项目中我们经常会使用到分页,分页有很多中,一种是放在内存中,由java代码控制分页;另一种是直接用sql进行数据库分页;
放在内存中进行分页这肯定是不太现实的,如果数据量过大,会导致内存爆掉。所以我们还是选择利用数据库查询分页。
现在java常用的ORM映射框架就那么几个,hibernate,ibatis(改成mybatis了)等。。
hibernate可以调用Session的setFirstResult(int ...)、setMaxResult(int ...)或用hibernateTemplate等完成分页。当然你要写sql也可以。
ibatis我不是很了解,但是我知道他和hibernate的一点差别,那就是需要自己优化sql。。
----------------------------------------------------------------------------------------------------------以上废话
这里我们看看mysql用limit是如何分页的:
首先来看我表结构:
再看我的查询语句:
1 SELECT * from d_user LIMIT 1,2
接着看查询结果:
看到上面的结果你可能会很疑惑,为什么是从id=2开始,我之前也很疑惑,我明明是让他从第一行开始。经过查阅资料,发现limit默认的初始行是从0行开始。
也就是说如果我们要获取到id=1的那一行那我们的sql语句就应该这样写:
SELECT * from d_user LIMIT 0,2
结果:
看到这里相信我们已经明白了。使用limit关键字时有两个参数,如:limit arg1,arg2;
其中:arg1表示从哪一行开始,初始行为0;
arg2表示显示多少行,如:limit 0,2;limit 1,2;这两种方式都是显示两条数据,只不过一条是从第0行开始,一条是从第1条开始。
----------------------------------------------------------------------------------------------------------------------------------------------------------
补充:当arg1=0时,可以不用写arg1,直接写:limit arg2就可以了。
注意:arg2貌似不能为负数,使用navicat for mysql执行时会报错:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2.-1' at line 1
mysql中limit关键字_【JAVA】关于mysql的limit关键字使用。相关推荐
- 如何在mysql中创建过程_如何在MySQL 中创建存储过程?
问题阐述 自MySQL 5.0 开始,MySQL 就支持存储过程.存储过程是一些被用户定义的SQL 语句集合.一个存储程序是可以被存储在服务器中的一套SQL 语句.存储过程可以被程序.触发器或另一个存 ...
- 如何在mysql中添加用户_如何给mysql数据库添加一个用户
首先以root身份登录到MySQL服务器中. $ mysql -u root -p 当验证提示出现的时候,输入MySQL的root帐号的密码. 创建一个MySQL用户 使用如下命令创建一个用户名和密码 ...
- mysql中对比月_详解Mysql中日期比较大小的方法
假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: 代码如下 select * from product where add_time = '2 ...
- delimiter在mysql中的作用_细细研究MySql中delimiter起到的作用_MySQL
MySql中delimiter究竟可以起到些什么作用呢?可能不少人都有这样的疑惑,下文就为您介绍MySql中delimiter的作用,供您参考. MYSQL导出一个SQL后: DELIMITER $$ ...
- 如何合并mysql中的行_如何在MySQL中合并行?
要合并MySQL中的行,请使用GROUP_CONCAT(). 让我们首先创建一个表-mysql> create table DemoTable734 ( Id int, Name varchar ...
- 查询mysql中user表_怎么查询mysql user表?
在mysql中,可以使用"SELECT * FROM mysql.user;"语句来查询user表,且必须拥有对user表的查询权限才可执行该语句.新创建的用户只有登录MySQL服 ...
- 如何在mysql中创建连接_如何在MySQL中创建新用户并开启远程连接访问?
如何在MySQL中创建新用户并开启远程连接访问? 发布时间:2020-05-21 14:55:19 来源:亿速云 阅读:176 作者:鸽子 下面由mysql教程给大家介绍MySQL创建新用户并开启远程 ...
- java with关键字_[Java教程]javascript 里面 with 关键字
[Java教程]javascript 里面 with 关键字 0 2016-02-18 11:00:02 1.with的基本概念 with语句的作用是将代码的作用域设置到一个特定的作用域中,目的是为了 ...
- mysql中查找出生日期_如何在MySQL中根据出生日期记录显示日期名称?
使用DAYNAME()显示具有出生日期的记录中的日期名称. 让我们首先创建一个表-mysql> create table DemoTable795 ( DateOfBirth date ); 使 ...
- mysql中on用法_详解mysql中的Using与On的用法
多用才可以体会各个关键字的用法啊... 在用Join进行多表联合查询时,我们通常使用On来建立两个表的关系.其实还有一个更方便的关键字,那就是Using.那么这两个关键字在使用上有啥区别呢?往下看. ...
最新文章
- 自动化系列-pyppeteer键盘输入点击
- Technical User Stories – What, When, and How?
- 韩文博 php,No releases available for package pear.php.net/HTTP_Upload
- you have mixed tabs and spaces fix this
- Python 的协程库 greenlet 和 gevent
- 前端规范——前后端接口规范
- Django出现Error: 111 connect to 192.168.158.141:22122. Connection refused
- seo从入门到精通_SEO入门书籍推荐:从入门到精通,新人必看的3本书
- Ajax 入门Demo
- 杜绝焦虑,如何提高执行力改变生活?
- 伤害世界服务器连接失败_伤害世界服务器怎么架设_伤害世界服务器架设图文教程_玩游戏网...
- 不会吧,难道真的有程序员不知道怎么接单赚钱吗?
- 实验4 用JavaBean实现简单计算器
- AI巨头们建造的“新世界”,进展如何?
- Ubuntu16.04设置并查看DNS
- java快速排序的时间复杂度_程序猿必备排序算法及其时间复杂度分析
- 将 vim 外的内容复制并粘贴到 Vim 里使用,如从windows系统复制内容到vim中使用
- 微信趣味测评小程序独立版源码
- matlab高斯消去法程序代码,如何在MATLAB用高斯消去法求解线性方程组程序
- 武林秘籍之C语言大法.第二式 语句 带你走向武林之巅
热门文章
- 高能解析得时候忽略某个字段_我们什么时候应该忽略批评?
- xgboost子树可视化
- IDEA的Struts2项目报错java.lang.ClassNotFoundException
- 将Excel中的数据导入到MySql数据库中
- Linux——vi编辑器
- Django处理MySQL事物的用法
- Ubuntu软件安装
- Global.asax.cs中的方法(包括自定义方法)的含义
- python变量名区分大小写_python变量名要不要区分大小写
- 32k通过地址跳转到函数_【HYPERLINK】函数技巧,你一定要知道的!!!