当前位置: 首页 > news >正文

达梦数据库基本操作指南:从表空间创建到触发器应用

达梦数据库基本操作指南:从表空间创建到触发器应用

本文概述了达梦数据库的基本操作,涵盖了从创建表空间到使用触发器的各种常用数据库操作。首先介绍了如何创建和修改表空间,设置自动扩展和加密功能。接着详细描述了用户的创建与权限授予,包括为用户分配 DBA 和 RESOURCE 权限。通过创建表、插入数据、查询数据,以及创建视图、存储过程、函数、序列和触发器,本文帮助读者掌握了达梦数据库中常见的数据操作方法。这些步骤为用户提供了一个快速、全面的数据库管理操作指南。

预备课:Docker 安装达梦 DM8 数据库实战指南

文章目录

  • 达梦数据库基本操作指南:从表空间创建到触发器应用
      • 一 创建表空间
      • 二 修改表空间设置
      • 三 创建表空间并加密
      • 四 创建用户并授予权限
      • 五 授予用户权限
      • 六 查询数据表
      • 七 授予查询权限
      • 八 创建表
      • 九 插入数据
      • 十 查询数据
      • 十一 创建视图
      • 十二 创建存储过程
      • 十三 调用存储过程
      • 十四 创建函数
      • 十五 调用函数
      • 十六 创建序列
      • 十七 查询序列值
      • 十八 创建触发器
      • 十九 测试触发器

一 创建表空间

创建表空间 TEST,数据库文件路径为 ‘/data/dmdata/DAMENG/TEST.DBF’,初始大小为 128M。

create tablespace "TEST" datafile '/data/dmdata/DAMENG/TEST.DBF' size 128 ;

二 修改表空间设置

修改表空间 TEST,打开自动扩展,每次扩展 100M,扩展上限为 10240M。

alter tablespace "TEST" datafile '/data/dmdata/DAMENG/TEST.DBF' autoextend on next 100 maxsize 10240;

三 创建表空间并加密

创建表空间 TEST,指定文件路径、初始大小为 128M,开启自动扩展,并使用 RC4 加密。

create tablespace "TEST" datafile '/data/dmdata/DAMENG/TEST.DBF' size 128 autoextend on next 100 maxsize 10240 CACHE = NORMAL encrypt with RC4;

四 创建用户并授予权限

创建用户 TEST,密码设为 “Dameng@123”,使用 SHA512 算法加密,指定表空间为 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";

五 授予用户权限

授予用户 DBA 和 RESOURCE 权限。

grant "DBA" to "TEST";
grant "RESOURCE" to "TEST";

六 查询数据表

查询当前用户模式下的表和其他用户模式下的表。

select * from test;
select * from DBTEST.TABLE_TEST;

七 授予查询权限

使用 root 用户授予 TEST 用户查询其他表的权限。

grant SELECT on "DBTEST"."TABLE_TEST" to "TEST";

八 创建表

创建 CITY 表,包含城市 ID、城市名称和区域 ID 字段。

CREATE TABLE dmhr.city
(city_id CHAR(3) NOT NULL,city_name VARCHAR(40) NULL,region_id INT NULL
);

九 插入数据

向 CITY 表中插入若干城市数据。

INSERT INTO dmhr.city(city_id,city_name,region_id) VALUES('BJ','北京',1);
INSERT INTO dmhr.city(city_id,city_name,region_id) VALUES('SJZ','石家庄',1);
INSERT INTO dmhr.city(city_id,city_name,region_id) VALUES('SH','上海',2);

十 查询数据

查询 CITY 表中的所有数据。

SELECT * FROM dmhr.city;

十一 创建视图

创建 V_CITY 视图,筛选区域 ID 小于 4 的城市。

CREATE VIEW dmhr.v_city AS
SELECTcity_id  ,city_name ,region_id
FROMdmhr.city
WHEREregion_id < 4;

十二 创建存储过程

创建存储过程 PROC_1,对输入参数进行运算并输出结果。

CREATE
PROCEDURE dmhr.proc_1(a IN OUT INT)
ASb INT:=10;
BEGINa:=a+b;PRINT 'DMHR.PROC_1调用结果:'||a;
END;

十三 调用存储过程

调用存储过程 PROC_1,输入变量值 3,得到结果 13。

CALL dmhr.proc_1(3);

十四 创建函数

创建函数 FUN_1,对两个输入参数进行加法运算并返回结果。

CREATEFUNCTION dmhr.fun_1(a INT, b INT)RETURN INTASs INT;BEGINs:=a+b;RETURN s;END;

十五 调用函数

调用函数 FUN_1,输入变量 A、B 分别为 4 和 5,得到结果 9。

SELECT dmhr.fun_1(4,5);

十六 创建序列

创建序列 SEQ_QUANTITY,初始值为 5,每次递增 2,最大值为 200。

CREATE SEQUENCE dmhr.seq_quantity START WITH 5 INCREMENT BY 2 MAXVALUE 200;

十七 查询序列值

查询序列的下一个值。

SELECT dmhr.seq_quantity.nextval FROM dual;

十八 创建触发器

创建触发器 TRG_UPD,当 CITY 表更新时触发,打印提示信息。

CREATE TRIGGER dmhr.trg_upd AFTERUPDATE ON dmhr.cityFOR EACH ROWBEGINPRINT 'UPDATE OPERATION ON CITY !!';END;

十九 测试触发器

对 CITY 表数据进行更新操作,测试触发器效果。

UPDATE dmhr.city SET city.region_id=8 WHERE city.city_id='XA';

http://www.mrgr.cn/news/58481.html

相关文章:

  • ElementPlus中时间选择器配置
  • Java基础题:循环求水仙花数
  • 《深度学习》模型的部署、web框架 服务端及客户端案例
  • 【最全基础知识2】机器视觉系统硬件组成之工业相机镜头篇--51camera
  • zsh: command not found: nvm 问题(Mac)
  • 有了这个AI智能工具,抠图再也不求人
  • K8S部署
  • 从设计到伴飞:数字孪生赋能航天航空新时代
  • 大模型日报|12 篇必读的大模型论文
  • 放电消纳负载是什么
  • 前端经典【面试题】持续更新HTML、CSS、JS、VUE、FLUTTER、性能优化等
  • 探索自然之美:SpringBoot驱动的安康旅游网站开发
  • 国标GB28181软件EasyGBS国标GB28181-2022平台视频监控方案
  • rsync 客户端实现自动备份 Windows端powershell脚本及bat批处理文件程序
  • 使用高德API和MapboxGL实现路径规划并语音播报
  • Robot Framework实战
  • 使用 Kafka 和 MinIO 实现人工智能数据工作流
  • 反悔贪心学习笔记[浅谈]
  • Java多Module项目打包
  • 第一单元历年真题整理
  • Linux中查询Redis中的key和value(没有可视化工具)
  • C++常用函数定义解释
  • HBuilder X 中Vue.js基础使用->计算属性的应用(三)
  • 大数据环境下的数据清洗技术研究
  • 广告变现:2024年全球四大热门聚合广告平台
  • 什么是高存储服务器,有哪些优势,如何选择?