达梦,海量vast: DECLARE N NUMBER; BEGIN SELECTCOUNT(1) INTO N FROM USER_TAB_COLUMNS WHEREUPPER(TABLE_NAME)=UPPER('xx_tablename') ANDUPPER(COLUMN_NAME)=UPPER('xx_columnname'); IF N >0THEN EXECUTE IMMEDIATE 'ALTER TABLE xx_tablename DROP COLUMN xx_columnname'; END IF; END;
1 2 3 4 5 6 7 8 9 10 11
mysql: DELIMITER $$ CREATEPROCEDURE schema_change() BEGIN IF EXISTS (SELECT*FROM information_schema.columns WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='xx_tablename'AND COLUMN_NAME='xx_columnname') THEN ALTER TABLE xx_tablename DROPCOLUMN xx_columnname; END IF; END $$ DELIMITER ; CALL schema_change(); DROPPROCEDURE IF EXISTS schema_change;
1 2
金仓,瀚高: ALTER TABLE xx_tablename DROPCOLUMN IF EXISTS xx_columnname;
可重复执行 修改列
1 2 3
达梦,海量mysql ALTER TABLE tableName MODIFY columnName VARCHAR(300); ALTER TABLE B01 MODIFY DELETEFLAG TINYINT default0;
1 2
金仓,瀚高: ALTER TABLE tableName ALTERCOLUMN columnName TYPE VARCHAR(300);
新增列
1 2 3 4 5 6 7 8 9
达梦,海量 DECLARE N NUMBER; BEGIN SELECTCOUNT(1) INTO N FROM USER_TAB_COLUMNS WHEREUPPER(TABLE_NAME)=UPPER('xx_tablename') ANDUPPER(COLUMN_NAME)=UPPER('xx_columnname'); IF N =0THEN EXECUTE IMMEDIATE 'ALTER TABLE xx_tablename add xx_columnname VARCHAR(1)'; END IF; END; COMMENT ONCOLUMN xx_tablename.xx_columnname IS'xxxxxxxxxx';
1 2 3 4 5 6 7 8 9 10 11 12
mysql
DELIMITER $$ CREATEPROCEDURE schema_change() BEGIN IF notEXISTS (SELECT*FROM information_schema.columns WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='xx_tablename'AND COLUMN_NAME='xx_columnname') THEN ALTER TABLE xx_tablename addCOLUMN xx_columnname VARCHAR(1) COMMENT 'xxxxxxxxx'; END IF; END $$ DELIMITER ; CALL schema_change(); DROPPROCEDURE IF EXISTS schema_change;
1 2 3 4
金仓,瀚高: ALTER TABLE tableName ADDCOLUMN IF NOTEXISTS columnName VARCHAR(1); COMMENT ONCOLUMN tableName.columnName IS'xxxxxxxxxx';
BEGIN IF NOT EXISTS ( SELECT 1 FROM USER_TABLES WHERE TABLE_NAME = 'SynConfigSheetKey' ) THEN EXECUTE IMMEDIATE 'ALTER TABLE SynConfigSheetKey RENAME TO SYN_CONFIG_SHEET_KEY'; END IF; END;
表备份
1
CREATE TABLE JYPX02_bak_20241214 AS SELECT * FROM JYPX02;