在oracle表中增加、修改、删除字段,表的重命名,字段顺序调整

别说谁变了你拦得住时间么 提交于 2019-12-02 18:51:40

 

增加字段语法:alter table tablename add (column datatype [default value][null/not null],….);

说明:alter table 表名 add (字段名 字段类型 默认值 是否为空);

   例:alter table sf_users add (HeadPIC blob);

   例:alter table sf_users add (userName varchar2(30) default '空' not null);

 

修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 

说明:alter table 表名 modify (字段名 字段类型 默认值 是否为空);

   例:alter table sf_InvoiceApply modify (BILLCODE number(4));

 

删除字段的语法:alter table tablename drop (column);

说明:alter table 表名 drop column 字段名;

   例:alter table sf_users drop column HeadPIC;

 

字段的重命名:

说明:alter table 表名 rename  column  列名 to 新列名   (其中:column是关键字)

   例:alter table sf_InvoiceApply rename column PIC to NEWPIC;

 

表的重命名:

说明:alter table 表名 rename to  新表名

   例:alter table sf_InvoiceApply rename to  sf_New_InvoiceApply;

修改字段顺序

  查看表中各字段的ID和顺序:

  select object_id from all_objects where owner = 'user' and object_name = 'tablename'; # 填上表的所有者、表名

  select obj#,col#,name from sys.col$ where obj#=objectid # 填上刚刚查到的表id

  再以sysdba身份连接oracle服务,修改字段顺序,否则可能会报权限不够:

  update sys.col$ set col#=new where name='colname' and obj#=objectid # 填上字段新的顺序、字段名、表id

  值得注意的一点是,更新完字段顺序后,若直接插入数据,还是按旧的字段顺序插入的,需要指定插入的字段或者重启oracle。

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!