当前位置:网站首页>达梦数据库全部
达梦数据库全部
2022-07-05 06:23:00 【LZYmarks】
安装
参考官方手册
https://eco.dameng.com/docs/zh-cn/start/install-dm-windows-prepare.html
DM 管理工具
https://eco.dameng.com/docs/zh-cn/start/tool-dm-manager.html
注册链接
新建连接
窗口基本功能说明
查看数据库实例信息
通过 DM 管理工具可查看数据库实例的信息,包含系统概览,表使用空间,系统管理,日志文件,归档配置等几个方面。
选择对应实例,右键点击【管理服务器】,即可进行查看实例相关信息,如下图所示:
常用选项配置
通过常用选项的配置,可以帮助日常的操作,包含审计分析工具,快捷键,数据迁移工具,查询分析器,管理工具等功能。
选择管理工具的【窗口】,点击【选项】功能,可进入常用选项的配置。例如选择查询分析器的【编辑器】功能,可修改编辑器显示功能,如下图所示:
表空间和用户
创建表空间
创建用户
创建用户
数据库的备份
代理作业
创建代理环境
创建定时备份作业
idea 连接达梦数据库
https://eco.dameng.com/docs/zh-cn/start/java-development.html
pom 的jar包
<!-- 如果驱动包报错,可以添加本地驱动-->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>dm-jdbc</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/DmJdbcDriver18.jar</systemPath>
</dependency>
</dependencies>
<!-- 添加镜像仓库配置-->
<repositories>
<!-- 使用阿里云镜像仓库用来提高下载速度-->
<repository>
<id>aliyun</id>
<name>aliyun Repository</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<!-- 使用 DM 的镜像仓库来下载驱动包-->
<repository>
<id>dc</id>
<name>dc Repository</name>
<url>http://119.96.100.222:8181/repository/maven-releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
jar包放在这个lib目录下
达梦数据库的优势
DM数据库基本概念
https://eco.dameng.com/docs/zh-cn/pm/dm_sql-introduction.html
保留字与标识符
标识符的语法规则兼容标准GJB 1382A-9X,标识符分为正规标识符和定界标识符两大类。
正规标识符以字母、_、KaTeX parse error: Expected 'EOF', got '#' at position 2: 、#̲或汉字开头,后面可以跟随字母、…、#或者汉字,正规标识符的最大长度是128个英文字符或64个汉字。正规标识符不能是保留字。
正规标识符的例子:A,test1,_TABLE_B,表1。
定界标识符的标识符体用双引号括起来时,标识符体可以包含任意字符,特别地,其中使用连续两个双引号转义为一个双引号。
定界标识符的例子:”table”,”A”,”[email protected]#$“。
保留字的清单参见附录 1。
常规数据类型
- 字符数据类型
CHAR类型
语法:CHAR[(长度)]
功能:CHAR数据类型指定定长字符串。在基表中,定义CHAR类型的列时,可以指定一个不超过32767的正整数作为字节长度,例如:CHAR(100)。如果未指定长度,缺省为1。CHAR类型列的最大存储长度由数据库页面大小决定,CHAR数据类型最大存储长度和页面大小的对应关系请见下表1.4.1。但是,在表达式计算中,该类型的长度上限不受页面大小限制,为32767。
这个限制长度只针对基表中的列,在定义变量的时候,可以不受这个限制长度的限制。另外,实际插入表中的列长度要受到记录长度的约束,每条记录总长度不能大于页面大小的一半
CHARACTER 类型
语法:CHARACTER[(长度)]
功能:与 CHAR 相同。
VARCHAR 类型/VARCHAR2 类型
语法:VARCHAR[(长度)]
功能:VARCHAR数据类型指定变长字符串,用法类似CHAR数据类型,可以指定一个不超过32767的正整数作为字节或字符长度,例如:VARCHAR (100)指定100字节长度;VARCHAR(100 CHAR)指定100字符长度。如果未指定长度,缺省为8188字节。
在基表中,当没有指定 USING LONG ROW 存储选项时,插入 VARCHAR 数据类型的实际最大存储长度由数据库页面大小决定,具体最大长度算法如表 1.4.1;如果指定了 USING LONG ROW 存储选项,则插入 VARCHAR 数据类型的长度不受数据库页面大小限制。VARCHAR 类型在表达式计算中的长度上限不受页面大小限制,为 32767;
CHAR 同 VARCHAR 的区别在于前者长度不足时,系统自动填充空格,而后者只占用实际的字节空间。另外,实际插入表中的列长度要受到记录长度的约束,每条记录总长度不能大于页面大小的一半。
VARCHAR2 类型和 VARCHAR 类型用法相同。
数值数据类型
精确数值数据类型
NUMERIC 类型
语法:NUMERIC[(精度 [, 标度])]
(精度=有几个数字 3.124的精度为4 标度为3 ,1414.1的精度为5 标度为1)
功能:NUMERIC 数据类型用于存储零、正负定点数。其中:精度是一个无符号整数,定义了总的数字数,精度范围是 1 至 38。标度定义了小数点右边的数字位数。一个数的标度不应大于其精度,如果实际标度大于指定标度,那么超出标度的位数将会四舍五入省去。例如:NUMERIC(4,1)定义了小数点前面 3 位和小数点后面 1 位,共 4 位的数字,范围在-999.9 到 999.9。所有 NUMERIC 数据类型,如果其值超过精度,DM 会返回一个出错信息,如果超过标度,则多余的位会被截断。
如果不指定精度和标度,缺省精度为 38,标度无限定。
DECIMAL 类型
语法:DECIMAL[(精度 [, 标度])]
功能:与 NUMERIC 相似。
DEC 类型
语法:DEC[(精度[, 标度])]
功能:与 DECIMAL 相同。
NUMBER 类型
语法:NUMBER[(精度[, 标度])]
功能:与 NUMERIC 相同。
INTEGER 类型
语法:INTEGER
功能:**用于存储有符号整数,精度为 10,标度为 0。**取值范围为:-2147483648 (-231)~ +2147483647(231-1)。
INT 类型
语法:INT
功能:与 INTEGER 相同。
BIGINT 类型
语法:BIGINT
功能:**用于存储有符号整数,精度为 19,标度为 0。**取值范围为:-9223372036854775808(-263)~9223372036854775807(263-1)。
TINYINT 类型
语法:TINYINT
功能:用于存储有符号整数,精度为 3,标度为 0。取值范围为:-128 ~ +127。
BYTE 类型
语法:BYTE
功能:与 TINYINT 相似,精度为3,标度为0。
SMALLINT 类型
语法:SMALLINT
功能:用于存储有符号整数,精度为 5,标度为 0。取值范围为:-32768(-215) ~ +32767(215-1)。
BINARY 类型
语法:BINARY[(长度)]
功能:BINARY数据类型用来存储定长二进制数据。在基表中,定义BINARY类型的列时,其最大存储长度由数据库页面大小决定,可以指定一个不超过其最大存储长度的正整数作为列长度,缺省长度为1个字节。最大存储长度见表1.4.1。BINARY类型在表达式计算中的长度上限为32767。BINARY常量以0x开始,后面跟着数据的十六进制表示,例如0x2A3B4058。
VARBINARY 类型
语法:VARBINARY[(长度)]
功能:VARBINARY数据类型用来存储变长二进制数据,用法类似BINARY数据类型,可以指定一个不超过32767的正整数作为数据长度。缺省长度为8188个字节。VARBINARY数据类型的实际最大存储长度由数据库页面大小决定,具体最大长度算法与VARCHAR类型的相同,其在表达式计算中的长度上限也与VARCHAR类型相同,为32767。
近似数值数据类型
FLOAT 类型
语法:FLOAT[(精度)]
功能:FLOAT 是带二进制精度的浮点数。该类型直接使用标准 C 语言中 DOUBLE。精度值设置无实际意义,精度设置用于保证数据移植的兼容性,实际精度在达梦内部是固定的。精度处于范围(1~126)时忽略精度,超过此范围直接报错。
FLOAT取值范围-1.710308 ~ 1.710308。
DOUBLE 类型
语法:DOUBLE[(精度)]
功能:DOUBLE 是带二进制精度的浮点数。DOUBLE 类型的设置是为了移植的兼容性。该类型直接使用标准 C 语言中 DOUBLE。精度与取值范围用法与 FLOAT 完全一样。
REAL 类型
语法:REAL
功能:REAL 是带二进制精度的浮点数,但它不能由用户指定使用的精度,系统指定其二进制精度为 24,十进制精度为 7。取值范围-3.41038 ~ 3.41038。
DOUBLE PRECISION 类型
语法:DOUBLE PRECISION[(精度)]
功能:该类型指明双精度浮点数。DOUBLE PRECISION 类型的设置是为了移植的兼容性。该类型直接使用标准 C 语言中 DOUBLE。精度与取值范围用法与 FLOAT 完全一样。
位串数据类型
BIT 类型
语法:BIT
功能:BIT 类型用于存储整数数据 1、0 或 NULL,只有 0 才转换为假,其他非空、非 0 值都会自动转换为真,可以用来支持 ODBC 和 JDBC 的布尔数据类型。DM 的 BIT 类型与 SQL SERVER2000 的 BIT 数据类型相似。
功能与 ODBC 和 JDBC 的 bool 相同。
日期时间数据类型
日期时间数据类型分为一般日期时间数据类型、时间间隔数据类型和时区数据类型三类,用于存储日期、时间和它们之间的间隔信息。
一般日期时间数据类型
DATE 类型
语法:DATE
功能:DATE 类型包括年、月、日信息,定义了’-4712-01-01’和’9999-12-31’之间任何一个有效的格里高利日期。DM 支持儒略历,并考虑了历史上从儒略历转换至格里高利日期时的异常,不计算’1582-10-05’到’1582-10-14’之间的 10 天。
DM 支持 SQL92 标准或 SQL SERVER 的 DATE 字值,例如:DATE’1999-10-01’、’1999/10/01’或’1999.10.01’都是有效的 DATE 值,且彼此等价。年月日中第一个非 0 数值前的 0 亦可省略,例如’0001-01-01’等价于’1-1-1’。
TIME 类型
语法:TIME[(小数秒精度)]
功能:TIME 类型包括时、分、秒信息,定义了一个在’00:00:00.000000’和’23:59:59.999999’之间的有效时间。TIME 类型的小数秒精度规定了秒字段中小数点后面的位数,取值范围为 0~6,如果未定义,缺省精度为0。
DM 支持 SQL92 标准或 SQL SERVER 的 TIME 字值,例如:TIME ‘09:10:21’,’09:10:21’或’9:10:21’都是有效的 TIME 值,且彼此等价。
TIMESTAMP 类型
语法:TIMESTAMP[(小数秒精度)]
功能:TIMESTAMP 类型包括年、月、日、时、分、秒信息,定义了一个在’-4712-01-01 00:00:00.000000’和’9999-12-31 23:59:59.999999’之间的有效格里高利日期时间。TIMESTAMP 类型的小数秒精度规定了秒字段中小数点后面的位数,取值范围为 0~6,如果未定义,缺省精度为 6。与 DATE 类型相同,DM 不计算’1582-10-05’到’1582-10-14’之间的 10 天。
DM 支持 SQL92 标准或 SQL SERVER 的 TIMESTAMP 字值,例如:TIMESTAMP ‘2002-12-12 09:10:21’或’2002-12-12 9:10:21’或’2002/12/12 09:10:21’或’2002.12.12 09:10:21’都是有效的 TIMESTAMP 值,且彼此等价。
语法中,TIMESTAMP 也可以写为 DATETIME。
日-时间隔类
INTERVAL DAY 类型
语法:INTERVAL DAY[(引导精度)]
功能:描述一个若干日的间隔,引导精度规定了日的取值范围。引导精度取值范围为 1~9,如果未定义,缺省精度为 2。例如:INTERVAL DAY(3),其中 DAY (3) 表示日的精度为 3,表示范围为负 999 日到正 999 日。一个合适的字值例子是:INTERVAL ‘150’ DAY。
INTERVAL DAY TO HOUR 类型
语法:INTERVAL DAY[(引导精度)] TO HOUR
功能:描述一个若干日若干小时的间隔,引导精度规定了日的取值范围。引导精度取值范围为 1~9,如果未定义,缺省精度为 2。而时的取值范围在 0 到 23 之间。例如:INTERVAL DAY(1) TO HOUR,其中 DAY(1) 表示日的精度为 1,表示范围为负 9 日零 23 小时到正9日零23小时。一个合适的字值例子是:INTERVAL ‘9 23’ DAY TO HOUR。
还有很多
多媒体数据类型
多媒体数据类型的字值有两种格式:一是字符串,例如:’ABCD’,二是BINARY,如0x61626364。
TEXT、LONG、LONGVARCHAR、CLOB只支持字符串。
BFILE不适用上面两种格式。BFILE指明的文件只能只读访问。
不支持为多媒体数据类型的字段指定精度。
TEXT类型
语法:TEXT
功能:TEXT为变长字符串类型。其字符串的长度最大为100G-1字节。DM利用它存储长的文本串。
LONG、LONGVARCHAR(又名TEXT)类型
语法:LONG/LONGVARCHAR
功能:与TEXT相同。
IMAGE类型
语法:IMAGE
功能:IMAGE用于指明多媒体信息中的图像类型。图像由不定长的象素点阵组成,长度最大为100G-1字节。该类型除了存储图像数据之外,还可用于存储任何其它二进制数据。
LONGVARBINARY(又名IMAGE)类型
语法:LONGVARBINARY
功能:与IMAGE相同。
BLOB类型
语法:BLOB
功能:BLOB类型用于指明变长的二进制大对象,长度最大为100G-1字节。
CLOB类型
语法:CLOB
功能:CLOB类型用于指明变长的字母数字字符串,长度最大为100G-1字节。
BFILE类型
语法:BFILE
功能:BFILE用于指明存储在操作系统中的二进制文件,文件存储在操作系统而非数据库中,仅能进行只读访问。
运算符
一元算符 + 和 -
select -(-5), +NOWPRICE from PRODUCTION.PRODUCT WHERE NOWPRICE<10;
结果是:
5 6.1000
注:在SQL中由于两短横即“–”,表示“注释开始”,则双负号必须是-(-5),而不是–5。
当在表达式之间使用+、-、*、/时,分别表示加、减、乘、除运算。对于结果的精度规定如下:
只有精确数值数据类型的运算
两个相同类型的整数运算的结果类型不变,两个不同类型的整数运算的结果类型转换为范围较大的那个整数类型。
整数与NUMERIC,DEC等类型运算时,SMALLINT类型的精度固定为5,标度为0;INTEGER类型的精度固定为10,标度为0;BIGINT类型的精度固定为19,标度为0。
exp1+exp2结果的精度为二者整数部分长度(即精度-标度)的最大值与二者标度的最大值之和,标度是二者标度的最大值;
exp1-exp2结果的精度为二者整数部分长度的最大值与二者标度的最大值之和,标度是二者标度的最大值;
exp1*exp2结果的精度为二者的精度之和,标度也是二者的标度之和;
exp1/exp2结果为NUMERIC类型(缺省的精度为38,标度未限定)。
https://eco.dameng.com/docs/zh-cn/pm/dm_sql-introduction.html
字符串表达式
连接 ||
语法:STR1 || STR2
(STR1代表字符串1,STR2代表字符串2)
连接操作符对两个运算数进行运算,其中每一个都是对属于同一字符集的字符串的求值。它以给定的顺序将字符串连接在一起,并返回一个字符串。其长度等于两个运算数长度之和。如果两个运算数中有一个是NULL,则NULL等价为空串。
例
select ‘武汉’ || ADDRESS1 from PERSON.ADDRESS WHERE ADDRESSID=3;
结果是:
武汉青山区青翠苑1号
DM_SQL语言支持的数据库模式
DM_SQL语言支持关系数据库的三级模式,外模式对应于视图和部分基表,模式对应于基表,基表是独立存在的表。一个或若干个基表存放于一个存贮文件中,存贮文件中的逻辑结构组成了关系数据库的内模式。DM_SQL语言本身不提供对内模式的操纵语句。
视图是从基表或其它视图上导出的表,DM只将视图的定义保存在数据字典中。该定义实际为一查询语句,再为该查询语句取一名字即为视图名。每次调用该视图时,实际上是执行其对应的查询语句,导出的查询结果即为该视图的数据。所以视图并无自己的数据,它是一个虚表,其数据仍存放在导出该视图的基表之中。当基表中的数据改变时,视图中查询的数据也随之改变,因此,视图象一个窗口,用户透过它可看到自己权限内的数据。视图一旦定义也可以为多个用户所共享,对视图作类似于基表的一些操作就像对基表一样方便。
综上所述,SQL语言对关系数据库三级模式的支持如下图所示。
边栏推荐
- New title of module a of "PanYun Cup" secondary vocational network security skills competition
- Find the combination number acwing 887 Find combination number III
- Knapsack problem acwing 9 Group knapsack problem
- C job interview - casting and comparing - C job interview - casting and comparing
- Find the combination number acwing 888 Find the combination number IV
- Vant weave swipecell sets multiple buttons
- 论文阅读报告
- 什么是套接字?Socket基本介绍
- June 29, 2022 daily
- Genesis builds a new generation of credit system
猜你喜欢
5. Oracle tablespace
求组合数 AcWing 889. 满足条件的01序列
背包问题 AcWing 9. 分组背包问题
Leetcode array operation
MySQL advanced part 2: MySQL architecture
4. Object mapping Mapster
AE tutorial - path growth animation
VLAN experiment
什么是套接字?Socket基本介绍
Alibaba's new member "Lingyang" officially appeared, led by Peng Xinyu, Alibaba's vice president, and assembled a number of core department technical teams
随机推荐
New title of module a of "PanYun Cup" secondary vocational network security skills competition
Game theory acwing 893 Set Nim game
[moviepy] unable to find a solution for exe
2048 project realization
容斥原理 AcWing 890. 能被整除的数
求组合数 AcWing 889. 满足条件的01序列
Chapter 6 relational database theory
The route of wechat applet jumps again without triggering onload
Winter vacation water test 1 Summary
International Open Source firmware Foundation (osff) organization
什么是套接字?Socket基本介绍
Presentation of attribute value of an item
Suppose a bank's ATM machine, which allows users to deposit and withdraw money. Now there is 200 yuan in an account, and both user a and user B have the right to deposit and withdraw money from this a
C - XOR to all (binary topic)
2022/6/29-日报
安装OpenCV--conda建立虚拟环境并在jupyter中添加此环境的kernel
Operator priority, one catch, no doubt
H5 embedded app adapts to dark mode
MPLS experiment
Leetcode divide and conquer / dichotomy