oracle修改表结构

一、列的修改

准备工作:先创建一个表,并插入数据。

drop table member purge;
create table member(
mid number ,
name vachar2(50) default ‘无名氏’);
insert into member (min,name)values(1,‘李一’);
insert into member (min,name)values(2,‘章二’);
insert into member (min,name)values(3,‘王三’);
commit;


表中增加数据字段(增加列):
*语法:
Alter table 表名 add(字段名 字段类型 Default 默认值……);
#例子:

Alter table member Add(age number(3),photo vachar2(100) default ‘nophoto.jpg’);


修改表字段类型:
*语法:
Alter table 表名 modify(字段名称 字段类型 Default 默认值);
#例子:

Alter table member modify(name varchar2(30));-- 原表类型是50个字符,改成30个字符


删除列:
*语法:
Alter table 表名 drop column 列名;
#例子:
Alter table member drop column age;
需注意:

列删除时,至少要保留一列。若遇到某个数据表数据量很大,这种多列删除对性能损耗很大,很多时候为了保证可操作,可将表中设置无用的列。


无用字段(列)设置:
*语法:
方法一:Alter table 表名 set unused(列名);
方法二:Alter table 表名 set unused column 列名;
#例子:
Alter table member set unused (age);
Alter table member set unused column name;

select * from member ;-- 将看不见age和name列


删除无用列:
*语法:
Alter table member drop unused columns;


二、
添加注释:
*语法:
表注释:comment on table 表名 is ‘注释内容’;
列注释:comment on column 表名.列名 is ‘注释内容’;
Oracle中有两个字典,查看表注释:“user_tab_comments”;查看某表列的注释:“user_col_comments”;
#例子:
comment on table member is ‘记录参加活动成员信息’;
comment on column member.mid is ‘参加活动成员编号’;
select * from user_tab_comment;
select * from user_col_comment where table_name=‘MEMBER’;


三、
设置可见/不可见字段:

  • 语法:
    alter table 表名 modify (字段 [ invisible | visible ]);-- 可见:visible , 不可见:invisible
    注意:只有在Oracle12c后的版本才有。可在创建表,设置类型的时候,加上可见/不可以设置。
    如果设置不可见状态的列,在执行"desc 表名"和"select * from 表名"语句时是看不见设置的列,可以查看"user_tab_columns"表,查看某表的所有列(包括已设置不可见列)。以及在执行操作语句也会忽略被设置不可见列,如"insert into A表 values (值1,值2……)"被设置不可见列是无法插入数据。

————————————————
版权声明:本文为CSDN博主「Miki_onlyone」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41712808/article/details/81588668

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值