达梦 8 使用简单记录

达梦 8 使用记录

安装记录

# 环境:CentOS7, X86_64

# 创建用户 & 组
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

# 挂载镜像
mount -o loop [ISO PATH] /dm-mnt

# 切换到 dmdba 用户,进行安装,默认安装目录为 ~/dmdbms 安装完后看提示使用 root 执行脚本
./xxx.bin -i

#--------------

# 创建 数据 目录
mkdir /dm-data
chown dmdba:dinstall -R /dm-data
chmod -R 755 /dm-data

# 初始化配置,关闭大小写敏感
./dminit path=/dm-data CASE_SENSITIVE=0

# 注册服务
./dm_service_installer.sh -t dmserver -dm_ini /dm-data/DAMENG/dm.ini -p DMSERVER

# 启动服务
systemctl start DmServiceDMSERVER

步骤:

  • 创建用户,分配权限

  • 创建表空间

  • 创建模式(类似于 MySQL 中库的概念)

基本 CRUD(和 MySQL 相似)

select * from AD_823645605946458112.DEPtS


insert into ad_823645605946458112.depts(dept_id, ddd) values (15, 'a')


UPDATE AD_823645605946458112.DEPTs SET DEPT_ID = '22222' where dept_id = '2';


delete from ad_823645605946458112.depts;

参考:【达梦数据库大小写敏感设置及使用初探】

主键修改

-- 建表(带聚集主键)
create table IF NOT EXISTS AD_823645605946458112.dePts (
DEPt_ID varchar(20) NOT NULL,
DEPT_TITLE varchar(20) NULL,
CLUSTER PRIMARY KEY(DEPT_ID)) STORAGE (CLUSTERBTR)

-- 删表
drop table if exists AD_823645605946458112.DEPTs

------------------- 上边创建了聚集主键,此时不能直接删除该主键。以下是一个解决方法

-- 1.在另一列上创建聚集索引
CREATE CLUSTER INDEX IDX_823645605946458115 ON AD_823645605946458112.depts(dept_title);

-- 2.删除主键上的主键
-- 2.1 获取主键约束名
SELECT * FROM ALL_CONSTRAINTS WHERE CONSTRAINT_TYPE='P'and TABLE_NAME = 'depts'
-- 2.2 删除主键约束(此时原主键已经去掉)
alter table AD_823645605946458112.depts drop constraint "CONS134218838"

-- 3.添加主键(因为有 dept_title 的聚集索引,为他添加主键时,索引自动变为聚集索引)
alter table AD_823645605946458112.depts add cluster primary key(dept_title);

其他参考:

其他

-- 查询指定表中的所有索引
select * from DBA_IND_COLUMNS where table_name = 'depts'

-- 查询指定表中的所有约束
SELECT * FROM ALL_CONSTRAINTS WHERE CONSTRAINT_TYPE='P' and TABLE_NAME = 'depts'

-- 创建索引
CREATE UNIQUE INDEX dept_unique_in2dex ON AD_823645605946458112.depts (dept_title desc);

-- 删除索引
drop index if exists AD_823645605946458112.IDX_823645605946458115
posted @ 2023-05-25 16:31  egu0o  阅读(89)  评论(0编辑  收藏  举报