Oracle alter 语句用法

table_name表名 column_name列名  datatype数据类型

一、添加列

1、添加一个列

alter table table_name add column_name datatype;

eg:

eg:alter table emp add esex varchar2(10);

2、添加多个列

alter table table_name add (column_name1 datatype1,column_name2 datatype2,...);

eg:

alter table emp add(esex varchar2(20),eage number(10));

二、删除列

1、删除一个列

alter table table_name drop column column_name;

eg:

alter table emp drop column esex;

2、删除多个列(注意没有column关键字)

alter table table_name drop (column column_name1,column_name2,...);

eg:

alter table emp drop (esex,eage);

三、修改数据类型(要修改数据类型,要修改的列数据必须为空)

1、修改单列

alter table table_name modify column_name datatype;

eg:

alter table emp modify eage int;

2、修改多列

alter table table_name modify (column_name1 datatype1,column_name2 datatype2,...);

eg:

alter table emp modify (eage number(10),esex number(10));

扩展延伸:在eage有数据的情况下,修改eage数据类型为int,之前的数据仍然要,应该怎么做?(没有非空约束)

create table empe as select * from emp;
update emp set eage= null;
alter table emp modify eage int;
update emp a set a.eage=(select eage from empe b where a.empno=b.empno);

首先将emp表复制,将emp表的eager列清空,然后更改数据类型,最后利用update语句将eage列数据从empe表更新回来。

四、修改表名

alter table table_name_old rename to table_name_new;

eg:

alter table emp rename to empp;

五、修改列名

alter table table_name rename column column_name_old to column_name_new;

eg:

alter table emp rename column esex to eesex;

六、标记为不可用列(在物理地址上没有被清除,表中该列不可见。但可以在表中添加列名相同的列)

alter table table_name set unused column column_name;

eg:

alter table emp set unused column eage;
alter table emp add eage int;

alter table table_name drop unused columns;(删除不可用列)

七、将表改为只读或只写状态

1、只读(只读状态下不能对表进行插入和更新,但可以对查询表、修改表名、删除表)

alter table table_name read only;

eg:

alter table emp read only;

2、只写

alter table table_name read write;

eg:

alter table emp read write;

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值