在达梦数据库 (DM) v8 中,要修改表名、字段名和字段数据类型,可以使用 ALTER TABLE 语句。以下是修改表名、字段名和字段数据类型的DDL语句示例(主要是市面上不可用):

命令行连接数据库

连接达梦数据库

./disql SYSDBA/SYSDBA@localhost:5237

# 输入完毕,输入账号、密码

退出命令行

dmdsqlexec -f<SQL文件路径>

备份库

dmdump -a -f<备份文件路径>

备份表

dmdump -t<表名称> -f<备份文件路径>

导入SQL脚本

方式一:`/www/a.sql;
方式二:start /www/a.sql;

查看建表语句 达梦

这命令测试的时候 不是超管账号哦!

   SELECT DBMS_METADATA.GET_DDL('TABLE', '你的表名') FROM DUAL;

查看表的索引情况

SELECT
	t.TABLE_NAME AS "索引所在表名",
	c.TABLE_OWNER AS "表归属",
	i.INDEX_NAME AS "索引名称(多个索引名称一样,就是联合索引)",
	c.COLUMN_NAME AS "索引字段",
	i.INDEX_TYPE AS "索引类型",
	i.UNIQUENESS AS "是否唯一"
FROM
		all_indexes i
JOIN all_ind_columns c ON
	i.INDEX_NAME = c.INDEX_NAME
JOIN all_tables t ON
	i.TABLE_NAME = t.TABLE_NAME
WHERE
	t.TABLE_NAME LIKE '%'

修改表名

   ALTER TABLE 旧表名 RENAME TO 新表名;

将上述语句中的 "旧表名" 替换为实际的旧表名,"新表名" 替换为要修改成的新表名。

例如,将表名为 "old_table" 修改为 "new_table",可以执行以下语句:

   ALTER TABLE old_table RENAME TO new_table;

修改字段:为null

   ALTER TABLE 表名 MODIFY 字段名 NULL;

修改字段名:

   ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名;

将上述语句中的 "表名" 替换为实际的表名,"旧字段名" 替换为要修改的旧字段名,"新字段名" 替换为要修改成的新字段名。

例如,将表名为 "my_table" 中的字段名 "old_column" 修改为 "new_column",可以执行以下语句:

   ALTER TABLE my_table RENAME COLUMN old_column TO new_column;

修改字段数据类型:

   ALTER TABLE 表名 MODIFY 字段名 新数据类型;

将上述语句中的 "表名" 替换为实际的表名,"字段名" 替换为要修改的字段名,"新数据类型" 替换为要修改成的新数据类型。

例如,将表名为 "my_table" 中的字段名为 "my_column" 的数据类型从 INT 修改为 VARCHAR(50),可以执行以下语句:

   ALTER TABLE my_table MODIFY my_column VARCHAR(50);

请注意,在执行这些修改DDL语句之前,务必备份数据,并确保没有其他操作正在使用该表,以避免数据丢失或冲突。

给表添加一个字段

📢:我再DBeaver操作DM数据库的时候,alter语句每条可以单独执行,但是多条放在一起就无法执行,IDEA自带的数据库可以执行!

语法

alter table 数据库名.数据表名
    add 字段名称 VARCHAR(500) not null;

-- not null 可以省略
comment on column 数据库名.数据表名.字段名称 is '我是注释';

案例

alter table 数据库名.数据表名
    add EMAIL VARCHAR(500) not null;

comment on column 数据库名.数据表名.EMAIL is '邮箱';

修改字段名称

语法

alter table TABLE rename column A to B;

案例

-- 案例:将BASE_LINE字段名称变更为BASE_LINE_2020
alter table 数据库名.数据表名 rename column BASE_LINE to BASE_LINE_2020;

修改字段注释

语法

comment on column 数据库名.数据表名.字段名 is '新的注释';

案例

comment on column 数据库名.数据表名.EMAIL is '740969606@qq.com';

删除字段

语法

alter table 数据库名.数据表名 drop 字段名;

案例

alter table 数据库名.数据表名 drop EMAIL;
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤