带你学习DM数据库的基本操作

简介: 带你学习DM数据库的基本操作

一、登录DM8数据库的两种方式

1、通过自带的disql工具

进入数据库软件安装目录的 bin 目录下

  1. [dmdba@mydb bin]$ cd /home/dmdba/dmdbms/bin
  2. 登录命令:./disql username/password@IP:PORT
  3. [dmdba@mydb bin]$ ./disql SYSDBA/SYSDBA@192.168.59.223:5237

出现如上页面代表登录成功。

2、通过DM客户端工具进行连接

通过官网下载windows版本。

官网地址:https://www.dameng.com/list_103.html

下载后直接解压先点击iso镜像,再点击setup开始安装

一路默认至此界面,选择客户端

然后默认至成功即可。

点击DM管理工具进行数据库的连接

点击新建连接,输入IP、端口、用户名和密码进行连接。此处类似oracle数据库,使用超级管理员进行连接。

出现以下页面即登录成功。

二、创建表空间

使用命令创建表空间 TEST, 指定数据库文件为 ‘/data/dmdata/dameng/TEST.DBF’,初始化最小为 128M,其它默认,

表空间路径要提前规划创建。

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

如果不想一直手动去增加表空间的空间,可以提前设置,命令行修改表空间,打开自动扩展,每次自动扩展 100M ,扩展上限 10240M,两个参数可以根据自身的机器情况进行变化。示例如下:

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

同样地,为了安全可以设置加密算法。

示例如下:

create tablespace “TEST1” datafile ‘/data/dmdata/damneg/TEST.DBF’ size 128 autoextend on next 100 maxsize 10240 CACHE = NORMAL encrypt with RC4;

三、创建用户并关联表空间

使用命令行方式创建用户 TEST ,密码 “Dameng@123”,使用散列算法 SHA512 ,使用存储加密密钥为 “123456”,指定表空间为 TEST,索引表空间为 TEST,授予 “PUBLIC” 和 “SOI” 权限。示例参考如下:

  1. create user "TEST" identified by "Dameng@123" hash with SHA512 salt
  2. encrypt by "123456"
  3. default tablespace "TEST"
  4. default index tablespace "TEST";
  5. grant "PUBLIC","SOI" to "TEST";

授予用户DBA和RESOURCE 权限

  1. grant "DBA" to "TEST";
  2. grant "RESOURCE" to "TEST";

登录创建的普通用户test,需要注意的是如果密码含有特殊字符的情况下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转移。

[dmdba@mydb bin]$ ./disql TEST/‘“Dameng@123”‘@192.168.59.223:5237

四、创建数据库对象

1、用户与模式的关系

每个用户有一个默认的同名的模式,访问自己模式下的表、视图等,不需要加模式名,访问其他模式下的对象需要拥有访问权限,访问时还需加上模式名。

  1. select * from SYSOBJECTS t where t."TYPE$" ='SCH'; --查看模式
  2. select * from SYSOBJECTS t where t."SUBTYPE$" ='USER'; --查看用户
  3. --查询模式和用户的对应关系:
  4. select a.id scheid, a.name schename, b.id userid, b.name username
  5. from SYS.SYSOBJECTS a, SYS.SYSOBJECTS b
  6. where a."TYPE$" = 'SCH' and a.pid = b.id;

切换至test schema

  1. set SCHEMA test;

2、创建表

在模式 TEST 下创建表 CITY,并插入数据。示例语句如下所示:

  1. CREATE TABLE test.city
  2. (
  3. city_id CHAR(3) NOT NULL,
  4. city_name VARCHAR(40) NULL,
  5. region_id INT NULL
  6. );

3、插入数据

  1. INSERT INTO test.city(city_id,city_name,region_id) VALUES('BJ','北京',1);
  2. INSERT INTO test.city(city_id,city_name,region_id) VALUES('SJZ','石家庄',1);
  3. INSERT INTO test.city(city_id,city_name,region_id) VALUES('SH','上海',2);
  4. INSERT INTO test.city(city_id,city_name,region_id) VALUES('NJ','南京',2);
  5. INSERT INTO test.city(city_id,city_name,region_id) VALUES('GZ','广州',3);
  6. INSERT INTO test.city(city_id,city_name,region_id) VALUES('HK','海口',3);
  7. INSERT INTO test.city(city_id,city_name,region_id) VALUES('WH','武汉',4);
  8. INSERT INTO test.city(city_id,city_name,region_id) VALUES('CS','长沙',4);
  9. INSERT INTO test.city(city_id,city_name,region_id) VALUES('SY','沈阳',5);
  10. INSERT INTO test.city(city_id,city_name,region_id) VALUES('XA','西安',6);
  11. INSERT INTO test.city(city_id,city_name,region_id) VALUES('CD','成都',7);

4、查询插入的数据

  1. SELECT * FROM test.city;

5、创建视图

对 CITY 表创建一个视图,命名为 V_CITY,保存 region_id 小于 4 的数据,列名有:city_id,city_name,region_id。示例语句如下所示:

  1. CREATE VIEW test.v_city AS
  2. SELECT
  3.        city_id  ,
  4.        city_name ,
  5.        region_id
  6. FROM
  7.        test.city
  8. WHERE
  9.        region_id < 4;

查询视图数据:

  1. SELECT * FROM test.v_city;

6、创建存储过程

创建一个名为 PROC_1 的存储过程,入参数据类型为 INT,变量 B 赋予初始值 10,输出变量 A 的值为输入的变量 A 值与变量 B 值之和。示例语句如下所示:

  1. CREATE
  2. PROCEDURE test.proc_1
  3.        (a IN OUT INT)
  4. AS
  5.        b INT:=10;
  6. BEGIN
  7.        a:=a+b;
  8.        PRINT 'test.PROC_1调用结果:'||a;
  9. END;/
  10. CALL test.proc_1(3);

7、创建函数

创建一个名为 FUN_1 的存储函数。该函数的返回类型为 INT 类型。两个参数 A、B 的和赋给了变量 S,RETURN 语句则将变量 S 的值作为函数的返回值返回。示例语句如下所示:

  1. CREATE
  2.        FUNCTION test.fun_1
  3.                (a INT, b INT)
  4.                RETURN INT
  5.        AS
  6.                s INT;
  7.        BEGIN
  8.                s:=a+b;
  9.                RETURN s;
  10.        END;/
  11. SELECT test.fun_1(4,5);

8、创建序列

创建序列 SEQ_QUANTITY,起始值为 5,增量值为 2,最大值为 200。示例语句如下所示:

  1. CREATE SEQUENCE test.seq_quantity START WITH 5 INCREMENT BY 2 MAXVALUE 200;
  2. SELECT test.seq_quantity.nextval FROM dual;

9、创建触发器

创建一个触发器 TRG_UPD,当对表 CITY 进行更新操作时,定义的触发器 TRG_UPD 将被激发。示例语句如下所示:

  1. CREATE TRIGGER test.trg_upd AFTER
  2.        UPDATE ON test.city
  3.        FOR EACH ROW
  4.                BEGIN
  5.                PRINT 'UPDATE OPERATION ON CITY !!';
  6.                END;
  7. UPDATE test.city SET city.region_id=8 WHERE city.city_id='XA';

相关文章
|
5天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
31 15
|
2月前
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
32 1
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
94 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
239 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
2月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
89 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
2月前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
23 0
|
2月前
|
存储 NoSQL Java
使用 Java 了解和学习 NoSQL 数据库:三个主要优势
使用 Java 了解和学习 NoSQL 数据库:三个主要优势
30 0
|
4月前
|
存储 缓存 负载均衡
带你认识DM 共享存储数据库集群
带你认识DM 共享存储数据库集群
116 3
|
4月前
|
SQL 关系型数据库 MySQL
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具
|
4月前
|
SQL 存储 关系型数据库
如何系统地学习数据库?
如何系统地学习数据库?【8月更文挑战第25天】
61 0