三种常用数据库(Oracle、MySQL、SQLServer)的分页之Oracle分页
环境 Oracle 11gR2 SQLPlus 问题 Oracle 分页 解决 --创建测试表SQL create table test 2 ( 3 id number primary key, 4 name varchar2(20) not null 5 );表已创建。--创建序列SQLSQL create sequence seq_wgb_test;序列已创建。--插入数据SQL insert into t
环境
Oracle 11gR2 + SQLPlus
问题
Oracle分页
解决
--创建测试表 SQL> create table test 2 ( 3 id number primary key, 4 name varchar2(20) not null 5 ); 表已创建。 --创建序列 SQL> SQL> create sequence seq_wgb_test; 序列已创建。 --插入数据 SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test1'); 已创建 1 行。 SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test2'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test3'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test4'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test5'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test6'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test7'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test8'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test9'); 已创建 1 行。 SQL> SQL> insert into test(id, name) values(seq_wgb_test.nextval, 'test10'); 已创建 1 行。 SQL> insert into test(id, name) select seq_wgb_test.nextval, name from test; 已创建10行。 SQL> insert into test(id, name) select seq_wgb_test.nextval, name from test; 已创建20行。 SQL> insert into test(id, name) select seq_wgb_test.nextval, name from test; 已创建40行。 --执行分页 SQL> select t.* 2 from 3 ( 4 select rownum sn,te.* 5 from test te 6 where rownum 0; SN ID NAME ---------- ---------- -------------------- 1 2 test1 2 3 test2 3 4 test3 4 5 test4 5 6 test5 6 7 test6 7 8 test7 8 9 test8 9 10 test9 10 11 test10 已选择10行。
运行效果截图
小技巧
快速插入数据:
insert into test(id, name) select seq_wgb_test.nextval, name from test;
Oracle中复制数据和MySQL、SQLServer不一致,这里要注意下,因为使用的自增方式不同。
总结语法
Oracle中分页是使用子查询和rownum。
select t.*
from
(
select rownum sn,te.*
from tableName te
where rownum
)t
where t.sn > num * (page - 1);
--num:每页显示的行数
--page:第几页
对应于Web程序中分页类似:
select t.*
from
(
select rownum sn,te.*
from tableName te
where rownum
)t
where t.sn > num * (pageNow - 1);
--pageNow:当前第几页
--pageSize:每页显示的记录数
参考资料
http://blog.csdn.net/wentasy/article/details/8200512
http://blog.csdn.net/wentasy/article/details/8200561

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

可以通过以下方式优化MySQL查询性能:建立索引,将查找时间从线性复杂度降至对数复杂度。使用PreparedStatements,防止SQL注入并提高查询性能。限制查询结果,减少服务器处理的数据量。优化连接查询,包括使用适当的连接类型、创建索引和考虑使用子查询。分析查询,识别瓶颈;使用缓存,减少数据库负载;优化PHP代码,尽量减少开销。

MySQL 8.4(截至 2024 年的最新 LTS 版本)中引入的主要变化之一是默认情况下不再启用“MySQL 本机密码”插件。此外,MySQL 9.0完全删除了这个插件。 此更改会影响 PHP 和其他应用程序

使用PHP创建MySQL表需要以下步骤:连接到数据库。创建数据库(如果不存在)。选择数据库。创建表。执行查询。关闭连接。

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

如何将GoWebSocket与数据库集成:设置数据库连接:使用database/sql包连接到数据库。将WebSocket消息存储到数据库:使用INSERT语句将消息插入数据库。从数据库检索WebSocket消息:使用SELECT语句检索数据库中的消息。

PHP提供以下方法来删除MySQL表中的数据:DELETE语句:用于从表中删除匹配条件的行。TRUNCATETABLE语句:用于清空表中的所有数据,包括自增ID。实战案例:可以使用HTML表单和PHP代码从数据库中删除用户。表单提交用户ID,PHP代码使用DELETE语句从users表中删除匹配ID的记录。
