转:Oracle alter语句的用法

 【引用】Oracle alter语句的用法

2011-04-07 10:58:35| 分类: 默认分类 | 标签: |字号订阅

本文转载自江上渔火《Oracle alter语句的用法》
 

alter语句的用法

需要修改结构的,就用到alter语句,方法如下:

ALTER TABLE语句用于修改已经存在的表的设计。

语法:ALTER TABLE table ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index]
ALTER TABLE table ADD CONSTRAINT multifieldindex
ALTER TABLE table DROP COLUMN field
ALTER TABLE table DROP CONSTRAINT indexname

说明:table参数用于指定要修改的表的名称。
ADD COLUMN为SQL的保留字,使用它将向表中添加字段。
ADD CONSTRAINT为SQL的保留字,使用它将向表中添加索引。
DROP COLUMN为SQL的保留字,使用它将向表中删除字段。
DROP CONSTRAINT为SQL的保留字,使用它将向表中删除索引。
field指定要添加或删除的字段的名称。
type参数指定新建字段的数据类型。
size参数用于指定文本或二进制字段的长度。
indexname参数指定要删除的多重字段索引的名称。

用sql*plus或第三方可以运行sql语句的程序登录数据库:

ALTER TABLE (表名) ADD (列名 数据类型);
ALTER TABLE (表名) MODIFY (列名 数据类型);
ALTER TABLE (表名) RENAME COLUMN (当前列名) TO (新列名);
ALTER TABLE (表名) DROP COLUMN (列名);
ALTER TABLE (当前表名) RENAME TO (新表名);

如:
Alter Table Employ Add (weight Number(38,0)) ;

Alter Table Employ Modify (weight Number(13,2)) ;

Alter Table Emp Rename Cloumn weight To weight_new ;
ALTER TABLE emp DROP COLUMN weight_new ;

ALTER TABLE bouns RENAME TO bonus_new;
增加一个列:
ALTER TABLE 表名 ADD(列名 数据类型);
如:
ALTER TABLE emp ADD(weight NUMBER(38,0));

修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):
ALTER TABLE 表名 MODIFY(列名 数据类型);
如:
ALTER TABLE emp MODIFY(weight NUMBER(3,0) NOT NULL);

给列改名:
ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;
如:
ALTER TABLE emp RENAME COLUMN weight TO weight_new;

删除一个列:
ALTER TABLE 表名 DROP COLUMN 列名;
如:
ALTER TABLE emp DROP COLUMN weight_new;

将一个表改名:
ALTER TABLE 当前表名 RENAME TO 新表名;
如:
ALTER TABLE bouns RENAME TO bonus_new


====================================================================================
alter USER user IDENTIFIEDBY ’newpassword’REPLACE ’oldpassword’

------------

附:oracle与Db2增加修改字段:

Db2:

alter table t_disp_fixedaddress add SIMNO bigint;

alter table t_disp_fixedaddress add PASSWORD varchar(32);

修改:

alter table t_mobile_userinfo alter column userpassword set data type varchar(32)

oracle:
alter table t_disp_fixedaddress add (SIMNO number(11));

alter table t_disp_fixedaddress add (PASSWORD varchar2(32));

alter table t_mobile_userinfo modify (userpassword varchar2(32))

----------------

原文地址:https://www.cnblogs.com/qima/p/2670170.html