--增加一列:
alter table A add( 添加列 varchar2(20));
--修改列:
alter table A rename column 舊名稱 to 新名稱;
--修改列的類型:
alter table A modify 列名稱 varchar(200);
--刪除數據庫一列
alter table A drop column 列名稱;
--刪除多列
ALTER TABLE table_name DROP (column_name , …);
--對比兩種語法可以看出,刪除一列時需要使用COLUMN關鍵字,而刪除多列時則不需要。
--重命名表名
ALTER TABLE 舊表名 RENAME TO 新表名;
--或者
RENAME 舊表名 TO 新表名;
有一個表名為tb,字段段名為name,數據類型 char(20)。
1、假設字段數據為空,則不管改為什么字段類型,可以直接執行:
alter table tb modify (name varchar2(20));
2、假設字段有數據,則改為nvarchar2(20)可以直接執行:
alter table tb modify (name varchar2(20));
3、假設字段有數據,則改為varchar2(40)執行時會彈出:“ORA-01439:要更改數據類型,則要修改的列必須為空”,這時要用下面方法來解決這個問題:
/*修改原字段名name為name_tmp*/
alter table tb rename column name to name_tmp;
/*增加一個和原字段名同名的字段name*/
alter table tb add name varchar2(40);
/*將原字段name_tmp數據更新到增加的字段name*/
update tb set name=trim(name_tmp);
/*更新完,刪除原字段name_tmp*/
alter table tb drop column name_tmp;
原文鏈接:https://blog.csdn.net/u013058618/java/article/details/52078860