达梦数据库基础操作-查询
创始人
2024-11-19 20:03:28
0
一、基础查询 1)单表查询 1. 查看表结构 使用两种方式可查看数据库的表结构: 查询后会显示该表的创建语句以及结构 2. 查询全表 使用 SELECT * 查询全表,此时数据库会返回表所有列 3. 行过滤 使用条件查询进行过滤,例如查询所有 ID 大于 103 的行:4. 查找控制 使用 IS NULL 为条件查找控制: 5. 查询满足多个条件的行 使用 OR 字句来查询满足多个条件的行,但在实际应用中使用 OR 会严重降 低数据库的性能,所以尽量避免使用 OR,可以改为 IN 6. 别名 使用 AS 在查询时给列取别名 7. 列拼接 使用||可将几条列拼接起来,可以拼为一句话8. 根据条件查询并对返回的信息进行标识 使用 CASE...END AS 对返回的信息进行标识,用 AS 为新的列取别名作为返回 的信息 9. 使用 limit 限制返回结果的行数 2)查询结果排序 使用 ORDER BY 对查询结果进行排序,ASC 为升序,DESC 为降序 3)使用 UNION ALL 进行多表联合检索需注意多表联合检索时列的数据类型必须匹配,否则会报错 使用 UNION ALL 合并结果集后如果有重复数据可以使用 UNION 来合并, UNION 有去重功能,例如使用 UNION ALL: 使用 UNION 后就不会出现重复行 二、层次查询 1. 概念 在实际生产应用中有很多地方会用到树状的数据结构,例如某部门的组织结 构,下辖有各个分部门,各个分部门下辖又有各个组织,这种数据结构在进行查 询时就使用到层次查询,涉及到父节点、子节点、叶节点等的应用。2. 层次查询子句 1)LEVEL 伪列 LEVEL 伪列是表示当前数据在树状的数据结构图中的层级,不存在于表中, 查询时动态生成,树状数据结构的根节点 LEVEL 为 1,以它开始依次向下递增, 例如: 2)CONNECT_BY_ISLEAF 伪列 CONNECT_BY_ISLEAF 伪列是表示当前节点是否是叶节点(即不存在子节点, 例如上图中最下排三个节点就是叶节点),1 表示是叶节点,0 表示不是叶节点。 3)CONNECT_BY_ISCYCLE 伪列 检测 CONNECT BY 查询中 是否存在 循环。当 查询到达 一个循环 时, CONNECT_BY_ISCYCLE 会返回 1,表示存在循环;否则返回 0,表示不存在循环。 这对于避免无限循环非常重要,因为在处理层次结构数据时,循环可能导致查询 永远无法结束。 4)connect by 与 PRIOR 关键字 使用 connect by 指定一个或多个父子关系的列,数据库根据这些关系递归地检 索数据,然后使用 PRIOR 关键字指定从一个行到另一个行建立连接,建立父子关 系,在以下这个例子中,通过 CONNECT BY 递归地查询所有下属员工。通过指定 PRIOR 关键字来建立员工之间的父子关系,可以构建整个层次结构的数据。 例如 EMPLOYEE_ID=101 的员工上级节点为 MANAGER_ID=100,这两个节点 之 间 就 建 立 了 父 子 关 系 , 子 节 点 记 录 的 MANAGER_ID= 父 节 点 记 录 的 EMPLOYEE_ID查询 LEVEL、CONNECT_BY_ISLEAF、CONNECT_BY_ISCYCLE 伪列 5)start with 关键字 使用 start with 关键字指定从哪一行开始查询,即将该节点作为根节点进行 查询 三、并行查询 1.自动并行 1)查询默认的并行策略,此时是关闭的 2)开启并行,并设置最大并行查询数为 4,执行完成后重启数据库生效3)未开启并行时查看查询表 T1 的执行计划 开启并行查询后查看查询表 T1 的执行计划 可以看到此时执行计划出现 LOCAL COLLECT,这指的是在并行查询过程中, 各个并行执行的节点将它们处理的数据局部汇总的操作。 2.手动并行 1)修改 PARALLEL_POLICY 参数为 2,开启手动并行模式,并重启数据库 2)执行命令查看执行计划,可以看到此时不是并行查询的3)因为开启了手动并行,所以需要使用 HINT 来指定并行度,语法如下 /*+ PARALLEL([<表名>] <并行任务个数>) */ 四、闪回查询 1. 闪回技术 当用户操作不当导致错误的删改数据时,可以使用闪回技术可以帮助查询找 回,通过 ENABLE_FLASHBACK 参数控制闪回功能的开启关闭(1 为开启,0 为关 闭),开启闪回功能后数据库会保留回滚段一段时间,由 UNDO_RETENTION 参 数指定回滚段的时长(缺省 90 秒,最大一天)。 限制:MPP 不支持闪回,数据守护环境下,备库不支持闪回。 不能对系统表、临时表、HUGE 表、内部辅助表、动态表等执行闪回 表操作。 2. 操作 1)开启闪回功能 2)查看当前回滚段保留时间,显示当前默认回滚段保留时间为 90s 3)修改回滚段保留时间4)按时间查询历史记录,通过指定一个 timestamp 时间类型,来查询过去某个 特定时刻的表; 查询当前时间表的状态和时间 在表中插入新的数据: 闪回查询之前时间点的表(因为我的虚拟机时间和数据库时间不一样,所以更换 为 Windows 上的数据库操作): 5)创建临时表并进行闪回查询 查看当前时间在临时表 T2 中插入数据,使用闪回查询查询插入之前的 T2 执行命令后出现报错,由此可见数据库不支持临时表的闪回查询 同样的,创建视图也不支持闪回查询达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

相关内容

热门资讯

第1分钟了解!游戏浙江大厅脚本... 第1分钟了解!游戏浙江大厅脚本修改,科乐辅助工作室,指南教程(有挂规律)-哔哩哔哩该软件可以轻松地帮...
七分钟了解!微乐四川辅助,微乐... 七分钟了解!微乐四川辅助,微乐小程序免费黑科技下载,步骤教程(确实有挂)-哔哩哔哩1)微乐小程序免费...
第5分钟了解!土豪辅助,新道游... 第5分钟了解!土豪辅助,新道游辅助软件下载,策略教程(有挂分析)-哔哩哔哩1、全新机制【新道游辅助软...
第四分钟了解!中至鹰潭亲友圈辅... 第四分钟了解!中至鹰潭亲友圈辅助,兴动海满麻浆辅助,经验教程(有挂攻略)-哔哩哔哩1、玩家可以在中至...
7分钟了解!闲逸辅助器,广西老... 7分钟了解!闲逸辅助器,广西老友修改器,法子教程(有挂教程)-哔哩哔哩1、广西老友修改器脚本辅助下载...
第3分钟了解!红黑大战控制系统... 第3分钟了解!红黑大战控制系统,拱趴大菠萝玩的是运气吗,练习教程(果真有挂)-哔哩哔哩1、游戏颠覆性...
第九分钟了解!家乡大二辅助免费... 第九分钟了解!家乡大二辅助免费,奇迹陕西游戏辅助挂,妙招教程(有挂助手)-哔哩哔哩奇迹陕西游戏辅助挂...
8分钟了解!海南琼崖海南辅助功... 8分钟了解!海南琼崖海南辅助功能,传送屋辅助,模板教程(有挂详情)-哔哩哔哩1、海南琼崖海南辅助功能...
第5分钟了解!天天开心王国辅助... 第5分钟了解!天天开心王国辅助器,手机填大坑辅助器,策略教程(真实有挂)-哔哩哔哩天天开心王国辅助器...
五分钟了解!德普之星透视挂,川... 五分钟了解!德普之星透视挂,川南九九辅助,攻略教程(有挂细节)-哔哩哔哩1、每一步都需要思考,不同水...