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