前言:
在当今数字化时代,数据库作为数据存储和处理的核心组件,对于各个领域都发挥着至关重要的作用。达梦数据库(Dameng Database)作为一种流行的国产数据库管理系统,具备高效、稳定、安全等特点,被广泛应用于各行各业。为了帮助初学者快速掌握达梦数据库的基本语法和操作,本文将全面介绍达梦数据库的入门知识,从安装配置到常见操作,再到进阶应用,逐步深入地带领读者了解达梦数据库的魅力。
达梦数据库语法介绍
达梦数据库在某些方面借鉴了Oracle的思想或功能,例如在数据库设计、SQL语法、存储过程、触发器等方面。此外,达梦数据库在数据迁移、备份恢复、高可用性等方面也参考了Oracle的架构。
然而,达梦数据库并非完全依赖于Oracle,而是拥有自己的创新和改进。例如,达梦数据库在中文支持、用户体验、数据迁移等方面进行了很多改进,使得国内工程师更容易上手。此外,达梦数据库还提供了强大的数据迁移工具,可以很方便地将现有生产系统迁移到达梦上。
总体来说,达梦数据库在保持与Oracle兼容的同时,也在不断追求自主创新,以满足国内市场的需求和快速发展的数字化时代的要求。
一.创建表空间
1.图形化创建
2.语法创建
create tablespace "TEST" datafile 'C:\Users\lzzxq\Desktop\2.DBF' size 128 ;
3.修改表空间参数
常见参数说明:
- EXTENT_SIZE 数据文件使用的簇大小 (16),可选值: 16、 32、 64,单位:页
- PAGE_SIZE 数据页大小 (8),可选值: 4、 8、 16、 32,单位: KB
- LOG_SIZE 日志文件大小 (256),单位为: MB,范围为: 64 MB~2 GB
- CASE_SENSITIVE 大小敏感 (Y),可选值: Y/N, 1/0
- CHARSET/UNICODE_FLAG 字符集 (0),可选值: 0[GB18030], 1[UTF-8], 2[EUC-KR]
图形化修改
语法修改
alter tablespace "TEST" datafile 'C:\Users\lzzxq\Desktop\2.DBF' autoextend on next 100 maxsize 10240;
4.设置加密算法、密码
可根据项目需要,设置加密算法、加密密码等信息,该设置均可为空,如下图所示:
上述参数设定完成后,点击【确定】即可创建完成表空间。
创建表空间 TEST, 指定数据库文件为 '/data/dmdata/DAMENG/TEST.DBF',初始大小为 128M,打开自动扩展,每次制动扩展 100M ,扩展上限 10240M,使用 RC4 加密算法。使用命令行方式创建示例表空间如下:
create tablespace "TEST" datafile '/data/dmdata/DAMENG/TEST.DBF' size 128 autoextend on next 100 maxsize 10240 CACHE = NORMAL encrypt with RC4;
二.创建用户
1.图形化
2.sql执行
使用命令行方式创建用户 TEST ,密码 “Dameng@123”,使用散列算法 SHA512 ,使用存储加密密钥为 “123456”,指定表空间为 TEST,索引表空间为 TEST,授予 “PUBLIC” 和 “SOI” 权限
create user "TEST" identified by "Dameng@123" hash with SHA512 salt encrypt by "123456" default tablespace "TEST" default index tablespace "TEST"; grant "PUBLIC","SOI" to "TEST";
3.授予权限
授予用户 DBA 权限
命令行方式参考如下:
grant "DBA" to "TEST";
授予用户 RESOURCE 权限,其余权限可根据需要自行选择权限
命令行方式参考如下:
grant "RESOURCE" to "TEST";
4.用户与模式的关系
每个用户有一个默认的同名的模式,访问自己模式下的表、视图等,不需要加模式名,访问其他模式下的对象需要加上模式名。
查询当前用户模式下的表,无需加对象名
我们以 TEST 用户为例,当查询自己模式下得表时,可以直接进行查询,无需加对象名,如下图所示:
select * from test
查询其他用户模式下的表,需要加对象名
我们以 TEST 用户为例,查询 SYSJOB 用户模式下的一张表,如不加对象名,则查询会报出无效的表名或者视图名,如下图所示:
select * from sysjobs
这时需要加上对应的对象名,如下图所示:
select * from sysjob.sysjobs