达梦数据库、表字段创建索引或删除索引,增加表字段、修改字段类型或长度、修改注释,大字段类型修改为varchar 类型,修改表名及注释sql语句

时间:2024-11-11 15:31:11

达梦数据库、表字段创建索引,增加表字段、修改字段类型或长度、修改注释,大字段类型修改为varchar 类型,修改表名及注释sql语句

注:达梦数据库在操作数据库的时候需要带上模式名、即 模式名+表名

1:字段创建索引

CREATE  INDEX "idx_plan_year" ON "INDUSTRIAL_SCREEN"."BIZ_PROJECT_FINISHED"("PLAN_YEAR" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE  INDEX "idx_project_name" ON "INDUSTRIAL_SCREEN"."BIZ_PROJECT_FINISHED"("PROJECT_FINISHED_NAME" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE  INDEX "idx_company_name" ON "INDUSTRIAL_SCREEN"."BIZ_PROJECT_FINISHED"("COMPANY_NAME" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;

说明(第一条为例):
idx_plan_year:需要创建的索引的名称
INDUSTRIAL_SCREEN"."BIZ_PROJECT_FINISHED:模式名+表名
PLAN_YEAR:需要创建建索引的字段名
需要修改的也只有这三个地方

1.1 删除索引

DROP INDEX SZFMIMP.idx_type;

SZFMIMP:模式名
idx_type:索引名

2:增加字段并增加注释

ALTER TABLE "BIZ_MISSION_FILL"."MISSION" add "IS_DEPARTMENT_PLAN" TINYINT;
COMMENT ON COLUMN "BIZ_MISSION_FILL"."MISSION"."IS_DEPARTMENT_PLAN" IS '是否需处室编制计划,1、是,0、否';

说明:
“BIZ_MISSION_FILL”.“MISSION”:模式名+表名(需要增加字段的表)
IS_DEPARTMENT_PLAN:增加的字段名称
TINYINT:增加的字段类型(后面可以带上精度例:VARCHAR2(100) )
第二句为修改字段注释语句

3:修改字段类型或修改字段精度

alter table "SZFMIMP"."T_ALL_CITY_STOCK_RATIO" modify JHSL DECIMAL(22,4)

说明:
“SZFMIMP”.“T_ALL_CITY_STOCK_RATIO” 表
JHSL :表里面的字段
DECIMAL(22,4):需要修改字段的字段类型或长度

4:字段重命名并修改注释

 alter table "SZFMIMP"."T_STOCK_OUT_EXAMINE" rename column "spt_status" to "SFHB";
 comment on column "SZFMIMP"."T_STOCK_OUT_EXAMINE"."SFHB" IS '字段描述';

说明:
“SZFMIMP”.“T_STOCK_OUT_EXAMINE”:表
“spt_status”:老字段
“SFHB”:要修改的字段 (后面可以加上新字段的类型和长度)

5:大字段类型字段修改为varchar 类型

	-- 新建一个字段 确定要改的字段类型
	alter table "SZFMIMP"."T_REPORT_DATA_EXAMINE" add SYYY1 VARCHAR(8188);
	-- 把原有的字段值赋值给新字段
	update "SZFMIMP"."T_REPORT_DATA_EXAMINE" set SYYY1=trim(SSYY);
	-- 删除掉老字段
    alter table "SZFMIMP"."T_REPORT_DATA_EXAMINE" drop column SSYY;
    -- 重新命名新字段为老字段
    alter table "SZFMIMP"."T_REPORT_DATA_EXAMINE" rename column SYYY1 to SSYY;
    -- 修改新字段的注释
    comment on column "SZFMIMP"."T_REPORT_DATA_EXAMINE"."SSYY" IS '申诉原因';

注:以上例子是要把ssyy(原类型为clob) 修改为varchar类型 可成功不用删表

6:修改表名及表注释

alter table "SZFMIMP"."T_JZWZ_WAREHOUSE" rename to "T_YJWZ_WAREHOUSE";
COMMENT ON TABLE "SZFMIMP"."T_YJWZ_WAREHOUSE" IS '修改后的表名';

注:T_JZWZ_WAREHOUSE:旧表名
T_YJWZ_WAREHOUSE:新表名

以上均为记录,示例说明用语(词)和实际无关。