DM表结构修改
# DM 表结构修改
注:达梦数据库在操作数据库的时候需要带上模式名、即 模式名+表名
模式名 -- 也就是数据库名
# 索引
一个 [模式] 下,[索引名称] 唯一
# 创建索引
示例:
# 语法
CREATE INDEX "[索引名称]" ON "[模式名]"."[表名]"("[字段名]" ASC) STORAGE(ON "MAIN", CLUSTERBTR);
# 创建普通索引
CREATE INDEX "idx_name" ON "DM_TEST"."STUDENT"("NAME" ASC) STORAGE(ON "MAIN", CLUSTERBTR);
# 创建唯一索引
CREATE UNIQUE INDEX "ux_name" ON "DM_TEST"."STUDENT"("NAME" ASC) STORAGE(ON "MAIN", CLUSTERBTR);
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
说明:
idx_name
:需要创建的索引的名称"DM_TEST"."STUDENT"
:模式名 + 表名NAME
:需要创建建索引的字段名
# 删除索引
示例:
# 语法
DROP INDEX "[模式名]"."[索引名称]";
# 示例
DROP INDEX "DM_TEST"."idx_name";
1
2
3
4
5
2
3
4
5
# 约束
一个 [模式] 下,[约束名称] 唯一
# 创建唯一约束
示例:
# 语法
alter table "[模式名]"."[表名]" add constraint "[约束名称]" unique("[字段名]");
# 示例
alter table "DM_TEST"."CLASS" add constraint "ux_name" unique("NAME");
1
2
3
4
5
2
3
4
5
- 创建唯一约束,会自动创建对应的唯一索引
- 删除时,也会自动删除对应的唯一索引
# 创建检查约束
示例:
# 语法
alter table "[模式名]"."[表名]" add constraint "[约束名称]" check("表达式");
# 示例
alter table "DM_TEST"."CLASS" add constraint "chk_status" check(STATUS = 0 or STATUS = 1);
1
2
3
4
5
2
3
4
5
# 删除约束
# 语法
alter table "[模式名]"."[表名]" drop constraint "[约束名称]";
# 示例
alter table "DM_TEST"."CLASS" drop constraint "ux_name";
alter table "DM_TEST"."CLASS" drop constraint "chk_status";
1
2
3
4
5
6
7
2
3
4
5
6
7
# 表结构修改
# 调整字段顺序
达梦数据库的 MODIFY
语句并不支持直接指定字段顺序。
您需要在添加新字段时就指定其位置,如下所示:
ALTER TABLE DM_TEST.STUDENT ADD (AGE INT) AFTER ID;
1
# 增加字段
# 语法
alter table "[模式名]"."[表名]" add column "[字段名称]" "[字段数据类型]";
# 示例
alter table "DM_TEST"."ENT_INFO" add column("ENT_TYPE" VARCHAR(100));
alter table "DM_TEST"."ENT_INFO" add column("ENT_TYPE" VARCHAR(100) not null);
comment on column "DM_TEST"."ENT_INFO"."ENT_TYPE" is '企业类别';
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 修改字段类型
# 语法
alter table "[模式名]"."[表名]" modify "[字段名称]" [更改后的字段类型]";
# 示例
alter table "DM_TEST"."STUDENT" modify "NAME" VARCHAR(10 CHAR);
1
2
3
4
5
2
3
4
5
# 字段重命名
# 语法
alter table "[模式名]"."[表名]" alter column "[字段名称]" rename to "[更改后的字段名称]";
# 示例
alter table DM_TEST.STUDENT alter column "id" rename to "ID";
1
2
3
4
5
2
3
4
5
# 学习参考
上次更新: 2024/10/22 17:52:31