达梦数据库基础操作-查询

news2025/1/12 22:45:53
一、基础查询
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
执行命令后出现报错,由此可见数据库不支持临时表的闪回查询
同样的,创建视图也不支持闪回查询
达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1959404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024电赛H题参考方案(+视频演示+核心控制代码)——自动行使小车

目录 一、题目要求 二、参考资源获取 三、参考方案 1、环境搭建及工程移植 2、相关模块的移植 4、整体控制方案视频演示 5、视频演示部分核心代码 总结 一、题目要求 小编自认为&#xff1a;此次H题属于控制类题目&#xff0c;相较于往年较为简单&#xff0c;功能也算单一&…

Vue - CSS基础学习

一、元素及属性 CSS 是为 web 内容添加样式的代码。 style标签 1.语法 1.除了选择器部分&#xff0c;每个规则集都应该包含在成对的大括号里&#xff08;{}&#xff09;。 2.在每个声明里要用冒号&#xff08;:&#xff09;将属性与属性值分隔开。 3.在每个规则集里要用分号…

Windows执行jar包

配置环境变量&#xff1a; 命令行测试&#xff1a; java -version 将jar包上传至指定目录&#xff0c;在该目录下创建运行脚本&#xff1a; chcp 65001 java -Dfile.encodingutf-8 -jar jxpaddle-admin.jar chcp 65001&#xff1a;将当前cmd编码改为UTF-8&#xff0c;仅对当…

单片机芯片程序读取方法和工具

如何把单片机芯片程序读取出来 读取芯片中的程序可以通过多种方法实现&#xff0c;具体方法取决于芯片的类型和可用的工具。 一、使用‌Keil软件&#xff1a; 如果芯片是Flash类型的&#xff0c;可以使用Keil软件配合硬件调试工具进行读取。首先&#xff0c;需要配置Keil工程&…

【Unity源码】多人FPS游戏

项目概述 《多人FPS游戏》(Multiplayer-FPS) 是一个基于Unity3D引擎开发的多人第一人称射击游戏。该项目支持多种输入设备&#xff0c;包括Kinect、Xbox控制器、Leap Motion手势控制、VR眼镜等&#xff0c;提供了丰富的交互体验。 项目特点 多种输入设备支持&#xff1a;除了…

基于北京市空气质量影响因素研究系统【城市可换爬虫获取、LSTM、Flask、Echarts、MySQL、TensorFlow】

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主研究背景国内外研究现状研究目的研究意义关键技术理论介绍数据采集数据分析与大屏设计大屏相关性分析LSTM模型训练系统集成展示总结每文一语 有需要本项目的代码或文档以及全部资源&#xf…

springboot高校实验室安全管理系统-计算机毕业设计源码73839

目 录 摘要 1 绪论 1.1 研究背景 1.2 选题意义 1.3研究方案 1.4论文章节安排 2相关技术介绍 2.1 B/S结构 2.2 Spring Boot框架 2.3 Java语言 2.4 MySQL数据库 3系统分析 3.1 可行性分析 3.2 系统功能性分析 3.3.非功能性分析 3.4 系统用例分析 3.5系统流程分析…

双指针专题

前言(回顾一下)&#xff1a; Leetcode 283.移动零 思路&#xff1a; 使用双指针&#xff0c;左指针指向当前已经处理好的序列的尾部&#xff0c;右指针指向待处理序列的头部。右指针不断向右移动&#xff0c;每次右指针指向非零数&#xff0c;则将左右指针对应的数交换&#xf…

C语言 -- 动态内存管理

C语言 -- 动态内存管理 1. 为什么要有动态内存分配2. malloc 和 free2.1 malloc2.2 free 3. calloc 和 realloc3.1 calloc3.2 realloc 4. 常见的动态内存的错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释放一块动…

嵌入式学习——C语言指针(一)

一、地址和指针的概念 地址&#xff1a;内存单元的编号。 指针&#xff1a;一个变量的首地址就叫做该变量的指针。 1、内存中存取数据的方式 1&#xff09;直接存取 直接用变量名存取变量所占内存单元的内容 例&#xff1a; int y,x 3; y 3*x2; 2&#…

【日记】今天又是哪朵小云不开心了呀(1886 字)

正文 上午上班没多久&#xff0c;天就特别阴&#xff0c;感觉像是要下暴雨的样子。前台接了一个电话&#xff0c;家里人打来的&#xff0c;她妈妈叮嘱她&#xff0c;要注意一点。他们那边已经开始下了。她转过头对我笑笑说&#xff0c;原来下雨在一个城里也能不同步。 当时我笑…

AttributeError: ‘NoneType‘ object has no attribute ‘shape‘

AttributeError: ‘NoneType‘ object has no attribute ‘shape‘ 目录 AttributeError: ‘NoneType‘ object has no attribute ‘shape‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰…

多家隧道代理价格:阿布云、快代理、小象代理、熊猫代理和亿牛云……

随着奥运的热度攀升&#xff0c;各大品牌也在抓紧时机赶上这波奥运热潮&#xff0c;随之而来的大量数据信息收集和分析工作也接踵而至&#xff0c;在这一数据采集过程中&#xff0c;HTTP代理的质量和价格对企业的效率和成本调控重要性不言而喻。我们大部分人在日常购买产品的时…

2235234234

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年6月20日 最后&#xff1a; 十分感谢你可以耐着性子把它读完和我可以坚持写到这里&#xff0c;送几句话&#xff0c;对你&#xff0c;也对我&#xff1a; 1.一个冷知识&#xff1a; …

细说MCU的DAC1实现两个通道同时输出的方法

目录 一、参考硬件 二、 建立新工程 1.配置DAC 2.配置DMA 3.配置定时器 4.配置时钟和Debug 三、修改代码 1.初始化定时器和DAC 2.定义波形数据 3.波形数据的产生方法 四、查看结果 一、参考硬件 本项目依赖的软件和硬件工程参考本文作者写的文章&#xff1a; 细说MC…

手写RPC框架,与Spring整合,基于Netty作为网络框架,protobuf作为序列化协议。可以和实际项目相结合完美运行

注&#xff1a;由于RPC框架过于庞大所以本篇文章只是作为阅读RPC源码的一个指导&#xff0c;设计精巧之处还需要各位读者结合源码进行实践 RPC源码地址&#xff1a;https://github.com/xhpcd/rpc git clone: https://github.com/xhpcd/rpc.git 如果觉得有收获麻烦留下一颗st…

使用 Easysearch 打造企业内部知识问答系统

大家可能都有这样的经历&#xff0c;刚入职一家企业时&#xff0c;同事往往会给你分享一些文档资料&#xff0c;有可能是产品信息、规章制度等等。这些文档有的过于冗长&#xff0c;很难第一时间找到想要的内容。有的已经有了新版本&#xff0c;但员工使用的还是老版本。 基于…

centos7-8/redhat7-8一键安装配置vsftp服务

1.脚本介绍 1.1.介绍&#xff1a; linux下一键安装及配置vsftpd服务 &#xff0c;通过执行install.sh脚本&#xff0c;脚本会根据参数区域的值执行安装和配置vsftp服务&#xff0c;安装后会创建一个默认ftp用户wangxf密码wangxf2023 1、支持自定义安装(更改脚本内参数值) 2、…

javaweb_01:http

一、什么是http HTTP 是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上&#xff0c;它指定了客户端可能发送给服务器什么样的消息&#xff0c;以及得到什么样的响应。请求和响应都是以ASCll码的形式给出&#xff1b;而消息内容则具有一个类似MIME的格式。这个简单模…

面试Redis篇

本篇主要总结一下面试官可能会在Redis上询问的主要问题。 Redis的使用场景 问&#xff1a;你的项目中哪些场景中用到了Redis&#xff1f; 答&#xff1a;根据你的项目回答&#xff0c;一般会在一下几个部分缓存、分布式锁...... 缓存 缓存穿透 查询一个不存在的数据&#xff…