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

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

本文概述了达梦数据库的基本操作,涵盖了从创建表空间到使用触发器的各种常用数据库操作。首先介绍了如何创建和修改表空间,设置自动扩展和加密功能。接着详细描述了用户的创建与权限授予,包括为用户分配 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
SELECT
        city_id  ,
        city_name ,
        region_id
FROM
        dmhr.city
WHERE
        region_id < 4;

十二 创建存储过程

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

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

十三 调用存储过程

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

CALL dmhr.proc_1(3);

十四 创建函数

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

CREATE
        FUNCTION dmhr.fun_1
                (a INT, b INT)
                RETURN INT
        AS
                s INT;
        BEGIN
                s:=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 AFTER
        UPDATE ON dmhr.city
        FOR EACH ROW
                BEGIN
                PRINT 'UPDATE OPERATION ON CITY !!';
                END;

十九 测试触发器

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

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

猜你喜欢

转载自blog.csdn.net/u014394049/article/details/143241072