Oracle数据库如何修改表中字段顺序

发布时间:2020-07-09 15:53:15

来源:亿速云

阅读:166

本篇文章给大家分享的是有关Oracle数据库如何修改表中字段顺序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

前言

前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且字段特别多而我们又想把有关联性的字段放在一起,这时就要修改字段顺序。在修改顺序之前,我们先来看看Oracle数据库表中如何增加字段。

新增字段:

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

实例

创建表结构:create table test1

(id varchar2(20) not null);

增加一个字段:alter table test1

add (name varchar2(30) default ‘无名氏' not null);

使用一个SQL语句同时添加三个字段:alter table test1

add (name varchar2(30) default ‘无名氏' not null,

age integer default 22 not null,

has_money number(9,2)

);

字段顺序的修改

第一种原始方法:

删了重建,这种方法虽然简单粗暴,但不科学--新建临时表以存储正确的顺序

create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;

--删除表A_1

drop table A_1;

--新建A_1并从A_2表中赋予其正确的顺序和值

create table A_1 as select * from A_2;

--删除临时表A_2

drop table A_2;

这种方法对字段较少的表来说还不会显得太麻烦,但是对于字段较多的表来说就吃力了。

第二种方法(推荐):

1、首先需要sys或system权限操作

2、查询需要更改表的IDselect object_id

from all_objects

where owner = 'ITHOME'

and object_name = 'TEST';

注:ITHOME为用户,TEST是要更改的表,表名要大写

3、通过ID查出该表所有字段的顺序select obj#, col#, name

from sys.col$

where obj# = '103756' order by col#

4、修改顺序update sys.col$ set col#=2 where obj#=103756 and name='AGE';

update sys.col$ set col#=3 where obj#=103756 and name='NAME';

或直接在第三步的语句后面加 for update 进行修改

最后commit提交 并且重启Oracle服务

以上就是Oracle数据库如何修改表中字段顺序,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

oracle 表字段顺序_Oracle数据库如何修改表中字段顺序相关推荐

  1. oracle 表字段顺序_如何更改Oracle数据库表中字段顺序

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  2. Oracle数据库表中字段顺序的修改方法

    Oracle数据库表中字段顺序的修改方法 这篇文章主要给大家介绍了关于Oracle数据库表中字段顺序的修改方法,在介绍修改的方法之前先给大家介绍了Oracle数据库表新建字段的方法,文中通过示例代码介 ...

  3. 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...

    1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...

  4. oracle查询字段有list,java读取oracle表字段信息存到列表(LIST)中

    今天在研究如何将oracle表字段的信息存到列表数组中,做了一点实验,是在java1.5下,用myeclips做的,代码如下: public static List> gocilist(Conn ...

  5. oracle修改某表中的顺序,oracle 数据库 , 表中字段顺序修改

    1.首先需要sys或者system权限操作 2.查询需要更改的表的ID select object_id from all_objects where owner = '用户名' and object ...

  6. oracle修改表中字段名,oracle如何修改表字段名

    oracle修改表字段名的方法是: 首先bai方法是使用RENAME关键字: 修改字段名:alter table 表名 rename column 现列zhi名 to 新列名;修改表名:alter t ...

  7. MySQL5.7快速修改表中字段长度

    在mysql 5.5版本时,商用环境升级,有一个表存在六千多万数据,升级时需要修改这个表其中一个varchar类型字段的长度,当时用了大概4个多小时,还没有结束,之后我们系统mysql升级到5.7版本 ...

  8. MySQL数据库应用———修改表中内容INSERT/UPDATE/DELETE

    插入.更新.删除表中数据 1.表格中插入数据内容 insert into 语法规则为: INSERT INTO 表名 (字段名) VALUES (内容); 举例: insert into tb_nam ...

  9. pgsql修改表中字段属性

    语句 ALTER table 表名 ALTER COLUMN 字段名 type 修改类型 USING 表名::double precision 示例 ALTER table t_menu ALTER ...

最新文章

  1. C#精髓 第四讲 GridView 72般绝技
  2. python读取一个文件夹/子文件夹下的所有文件名字
  3. linux中文件记录的时间参数,【Linux】stat命令查看文件的三个时间参数
  4. 传闻,Google曾用股票来换取他的数学研究
  5. 【2021年度训练联盟热身训练赛第二场】g2g c u l8r(python)
  6. 转:RabbitMQ 消息队列特性知多少
  7. CentOS下配置多个Tomcat同时运行 本篇文章来源于 Linux公社网站(www.linuxidc.com)
  8. potplayer直播源模板
  9. 【Python笔记】Scipy.stats.norm函数解析
  10. 会计初级可以自己报名吗_2019初级会计职称考试报名流程全攻略
  11. 通过命令行更换windows 10 激活码
  12. Industry工业软件开发平台设计A-1
  13. JavaScript打点计时器
  14. 关于iPhone手机如何导入本地音乐
  15. POS Tagging 和Chunking (学习笔记)
  16. Python 将一个已知的 utc时间字符串 转换为东八区时间
  17. 输出大写英文字母(附带总结)
  18. SQLSERVER数据库质疑解决方案
  19. ARM64之内存屏障
  20. Mac上使用USB共享网络

热门文章

  1. 前端 优化 json stringify 在IE浏览器的兼容性 按钮点击不生效
  2. 【内网渗透】找到内网关键节点
  3. 敏捷开发 看板_什么是看板? 定义的敏捷方法论,以及如何将其用于您的软件开发团队
  4. 简易自动电阻测试仪_开始自动测试您的网站的简单方法
  5. Python网络爬虫开发实战,关于过程中的异常处理
  6. c#.net中创建带图标的ListBox
  7. P、NP、NPC、NP-Hard等问题总结
  8. python实现学生成绩聚类分析_聚类分析Python实现
  9. 【线性查询之间存在相关性误差】差分隐私系统学习记录(七)
  10. NetworkX学习笔记【持续更新】