oracle修改表名和列名的多种方式

时间:2022-05-24 07:17:17
重命名表
对于已存在的表,还可以修改其名称。重命名表有两种语法形式,一种
是使用ALTER TABLE语句,语法如下:

ALTER TABLE table_name RENAME TO new_table_name;

另一种是直接使用RENAME语句,语法如下:

RENAME table_name TO new_table_name;
 
修改列的名称 
修改表中的列的名称的语法如下:

ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;

如,将person表中的birthday列的名称修改为age,如下:

SQL> ALTER TABLE person RENAME COLUMN birthday TO age;

表已更改。
修改列的数据类型
修改表中的列的数据类型的语法如下:


ALTER TABLE table_name MODIFY column_name new_data_type;如,将person表中的age列的数据类型修改为NUMBER(4),如下:


SQL> ALTER TABLE person MODIFY age NUMBER(4);表已更改。
注意:这里使用的alter ... modify ,注意与修改oracle的表级约束的alter ... add 区分,别弄混了。
 

删除列
删除表中的列时可以分为一次删除一列和一次删除多列。
一次删除一列
的语法形式如下:
ALTER TABLE table_name DROP COLUMN column_name;

一次删除多列的语法形式如下:
ALTER TABLE table_name DROP (column_name , …);
对比两种语法可以看出,删除一列时需要使用COLUMN关键字,而删除
多列时则不需要。
注意:在删除oracle表级约束时,使用的一般也是alter ... drop,就删除列级约束(not null)时,使用了alter ... modify