• 五、DMSQL


    五、数据类型与操作符和常用DMSQL语句

    1、数据类型与操作符介绍

    达梦数据库支持的数据类型有很多,具体如下:

    其中:

    1. 常规数据类型
      1. 数值数据类型
      2. 字符数据类型
      3. 多媒体数据类型
      4. 日期时间数据类型
        1. 一般日期时间类型
        2. 时区数据类型
        3. 时间间隔数据类型
      5. BOOL / BOOLEAN数据类型
    2. %TYPE和%RPWTYPE:用来返回行和表的类型
    3. 记录类型
    4. 数组类型
      1. 静态数组类型
      2. 动态数组类型
      3. 复杂数组类型
    5. 集合类型
      1. VARRY
      2. 索引表
      3. 嵌套表
    6. 类类型
    7. 子类型
    8. 操作符

    具体可以查看达梦数据库手册-DM8SQL程序设计:

    DM8_SQL语言使用手册.pdf
    https://www.aliyundrive.com/s/Re17f4JJ4PN
    提取码: 9jy7
    点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
    
    • 1
    • 2
    • 3
    • 4

    2、常用DMSQL语句介绍

    2.1、创建示例用户

    如果在安装的时候,安装了默认的两个数据库实例可以忽略(如BOOKSHOP),如果没有安装,则使用xftp打开/dm/dmdbms/samples/instance_script/bookshop/内的sql文件脚本一个一个复制粘贴到DM Manager执行,如果执行1-CREATESCHEMA出错,则把 SCHEMA 改为 USER,即可

    2.2、简单查询

    语法:select () from ()

    -- 简单查询
    -- 1.查询用户person所属的address表的所有数据(*表示所有列)
    SELECT * FROM PERSON.ADDRESS;
    
    -- 2.查询用户person所属的address表的具体列(加上列名),如查询id和名字
    SELECT addressid,address1 FROM PERSON.ADDRESS;
    
    -- 3.起别名,可以使用as也可以不用
    SELECT addressid id,address1 AS 城市 FROM PERSON.ADDRESS;
    
    -- 4.limit的使用,如只查询出一条
    SELECT addressid id,address1 AS 城市 FROM PERSON.ADDRESS LIMIT 1;
    
    -- 5.管道命令的使用,比如我们为了使得查出的结果不单调,可以使用管道命令拼接
    SELECT 'id是: ' || addressid || ' 地址名为:' || address1 AS 地址 FROM PERSON.ADDRESS LIMIT 1;
    
    -- 6.查询结果去重(去除重复数据)
    SELECT DISTINCT city 城市名 from PERSON.ADDRESS;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述

    2.3、whrer 过滤查询

    WHERE子句常用的查询条件由谓词和逻辑运算符组成。

    谓词指明了一个条件,该条件求解后,结果为一个布尔值:真、假或未知。
    逻辑算符有:AND,OR,NOT。
    谓词包括比较谓词(=、>、<、>=、<=、<>),BETWEEN谓词、IN谓词、LIKE谓词、NULL谓词、EXISTS谓词。

    -- where过滤
    -- 1.使用and和>= <=查询现在售价在[10,20]间的书籍信息
    select * from PRODUCTION.PRODUCT where nowprice >= 10 and nowprice <= 20;
    
    -- 2.使用between and查询现在售价在[10,20]间的书籍信息
    select * from PRODUCTION.PRODUCT where nowprice between 10 and 20;
    
    -- 3.使用in查询出版社在括号内的书籍信息(中华书局,人民文学出版社)
    select * from PRODUCTION.PRODUCT where publisher in ('中华书局','人民文学出版社');
    
    -- 4.查询email为空的人的信息
    select * from PERSON.PERSON where email is null;
    
    -- 5.or和and连用
    select * from PRODUCTION.PRODUCT WHERE nowprice >= 10 and nowprice <= 20 OR publisher in ('中华书局','人民文学出版社');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    2.4、集函数

    集函数可分:

    1. COUNT(*);
    2. 相异集函数AVG()、MAX()、MIN()、SUM()、COUNT(DISTINCT<列名>);
    3. 完全集函数AVG()、MAX()、MIN()、 COUNT()、SUM([ALL]<值表达式>);
    4. 方差集函数VAR_POP()、VAR_SAMP()、VARIANCE()、STDDEV_POP()、STDDEV_SAMP()、STDDEV();
    5. 协方差函数COVAR_POP、COVAR_SAMP()、CORR;
    6. 首行函数FIRST_VALUE()
    7. 求区间范围内最大值集函数AREA_MAX();
    8. FIRST()/LAST()集函数AVG()、MAX()、MIN()、COUNT()、SUM([ALL]<值表达式>)、KEEP(DENSE_RANK FIRST() |LAST() ORDER BY子句);
    9. 字符串集函数LISTAGG() / LISTAGG2()。
    -- 集函数
    -- 1.统计表内共有多少条数据,无论查哪张表count的时间都是一样的,因为达梦数据库查的是数据库自带的计数器(里面存了每张表对应数据的条数)
    select count(*) FROM PERSON.PERSON;
    
    -- 2.查询售价最高的书籍信息
    select '最高售价的书籍是: ' || PRODUCT.NAME || ' 它的售价是: '  from PRODUCTION.PRODUCT;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    2.5、分析函数

    DM分析函数为用户分析数据提供了一种更加简单高效的处理方式。如果不使用分析函数,则必须使用连接查询、子查询或者视图,甚至复杂的存储过程实现。引入分析函数后,只需要简单的SQL语句,并且执行效率方面也有大幅提高。

    分析函数分为:

    1. COUNT(*);
    2. 完全分析函数 AVG、MAX、MINI、COUNT、SUM([ALL]<值表达式>),这5个分析函数的参数和作为集函数时的参数一致;
    3. 方差函数VAR_POP、VAR_SAMP、VARIANCE、STDDEV_POP、STDDEV_SAMP、STDDEV;
    4. 协方差函数COVAR_POP、COVAR_SAMP、CORR;
    5. 首尾函数FIRST_VALUE、LAST_VALUE:
    6. 相邻函数LAG和LEAD;
    7. 分组函数NTILE;
    8. 排序函数RANK、DENSE_RANK、ROW_NUMBER;
    9. 百分比函数PERCENT_RANK、CUME_DIST、RATIO_TO_REPORT、PERCENTILE_CONT、NTH_VALUE;
    10. 字符串函数LISTAGG;
    11. 指定行函数 NTH_VALUE;

    具体可以查看达梦数据库手册-DM8_SQL语言使用手册:

    DM8SQL程序设计.pdf
    https://www.aliyundrive.com/s/8yAhJVLKRNN
    提取码: 09rv
    点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
    
    • 1
    • 2
    • 3
    • 4

    数据库手册-DM8_SQL语言使用手册:**

    DM8SQL程序设计.pdf
    https://www.aliyundrive.com/s/8yAhJVLKRNN
    提取码: 09rv
    点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    eclipse导入maven项目
    Lambda初次使用很慢?从JIT到类加载再到实现原理
    AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
    Web 智能代码编辑器 WeBuilder 2022
    SSM学习45:设置请求映射路径,避免路径相同
    数字信号处理实验三(IIR数字滤波器设计)
    Scrum框架中的Sprint
    ROS2与turtlebot4仿真入门教程-安装ROS2
    Linux 串口应用编程
    1999-2018年地级市经济增长数据
  • 原文地址:https://blog.csdn.net/qq_45659753/article/details/127942313