精华内容
下载资源
问答
  • 如果使用的是Oracle数据库,不管是用Natvicat还是使用PL SQL客户端,拖动字段顺序并不能调整字段的顺序,正确的方法是使用SQL来调整。具体方法是: 1、使用oracle自带的sys、system等账号登录PL SQL等客户端 2、执行...

    之前使用mysql时,如果需要调整字段的顺序,可以使用Navicat客户端直接拖动要调整的字段至需要的位置即可。如果使用的是Oracle数据库,不管是用Natvicat还是使用PL SQL客户端,拖动字段顺序并不能调整字段的顺序,正确的方法是使用SQL来调整。具体方法是:
    1、使用oracle自带的sys、system等账号登录PL SQL等客户端
    2、执行如下SQL查询出想调整字段顺序的表格的id

    select object_id
      from all_objects
     where owner = 'Jim'
       and object_name = 'mytable';
    

    以上Jim为表格归属的用户名,mytable为需要调整字段顺序的表格名,需替换为自己的

    3、执行以下SQL查询出表中各字段的顺序,其中SQL中的80105为执行第一段SQL出查出的表的id:

    select obj#, col#, name 
       from sys.col$ 
     where obj# = '80105' order by col#;
    

    ,各字段的顺序如下
    在这里插入图片描述
    4、执行SQL,调整字段的顺序,如需将第12行COL为10的AREACODE调整到第5列的顺序,只需执行如下SQL即可,

    update sys.col$ set col#=5 where obj#=80105 and name='AREACODE';
    
    
    可能有人会觉得我表中COL怎么有重复的,那是因为这是调整后截的图。
    
    5、最后commit提交 并且重启Oracle服务```
    
    
    展开全文
  • 添加字段: alter table `user_movement_log` Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加) 删除字段: alter table `user_movement_...调整字段顺序: ALTER TABLE `us

    添加字段:

    alter table `user_movement_log`
    Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加)

    删除字段:

    alter table `user_movement_log` drop column Gatewayid

    调整字段顺序:

    ALTER TABLE `user_movement_log` CHANGE `GatewayId` `GatewayId` int not null default 0 AFTER RegionID

    //主键

    alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);//增加一个新列

    alter table t2 add d timestamp;
    alter table infos add ex tinyint not null default ‘0′;//删除列

    alter table t2 drop column c;//重命名列

    alter table t1 change a b integer;
    //改变列的类型

    alter table t1 change b b bigint not null;
    alter table infos change list list tinyint not null default ‘0′;
    //重命名表

    alter table t1 rename t2;加索引

    mysql> alter table tablename change depno depno int(5) not null;
    mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
    mysql> alter table tablename add index emp_name (name);加主关键字的索引

    mysql> alter table tablename add primary key(id);加唯一限制条件的索引

    mysql> alter table tablename add unique emp_name2(cardnumber);删除某个索引

    mysql>alter table tablename drop index emp_name;修改表:

    增加字段:

    mysql> ALTER TABLE table_name ADD field_name field_type;修改原字段名称及类型:

    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;删除字段:

    mysql> ALTER TABLE table_name DROP field_name;

    展开全文
  • oracle某个表增加或者删除字段,再调整字段顺序,操作参考 2019-03-14 1000 星期四 enAn -- 2019-03-14 0933 星期四 复制表结构和数据,增加数据 --正式表 wsdl_log select * from wsdl_log; -- 创建备份表wsdl_log_int...

    oracle某个表增加或者删除字段,再调整字段顺序,操作参考
    2019-03-14 1000 星期四 enAn

    -- 2019-03-14 0933 星期四  复制表结构和数据,增加数据
    --正式表 wsdl_log
    select * from wsdl_log;
    -- 创建备份表wsdl_log_int:复制表结构和数据(不会复制表说明和字段说明)
    create table wsdl_log_int as select * from wsdl_log;
    -- 右键查看正式表结构,复制创建sql和字段说明
    drop table wsdl_log;
    /*
    --删除字段
    alter table wsdl_log drop (source);
    alter table wsdl_log_int drop (source);
    */
    --添加字段
    alter table wsdl_log add (source varchar2(100));
    --INSERT INTO SELECT语句复制表数据部分列和常值
    Insert into Table2(a, c, d) select a,c,5 from Table1
    或:Insert into Table2 select * from Table1
    --如果字段类型和顺序一致,使用这个
    Insert into wsdl_log select * from wsdl_log_int
    
    --如果字段类型和顺序不一致,使用这个:基本是在原表中增加或者删除字段,调整字段顺序使用
    /*复制指定字段的值,从一个表到另一个表,基本是操作备份表之间,
    * 原表可能加字段了,然后需要调整字段顺序,才这样操作的
    */
    insert into wsdl_log 
    (
          id,name,status,in_data,out_data,batch_id,
    			last_updated_by,last_update_date,created_by,creation_date
    )
          select id,name,status,in_data,out_data,batch_id,
    			last_updated_by,last_update_date,created_by,creation_date from wsdl_log_int;
     ----**********************************************
     create table WSDL_LOG
    (
      ID               VARCHAR2(32),
      SOURCE           VARCHAR2(100),
      NAME             VARCHAR2(100),
      STATUS           VARCHAR2(10),
      IN_DATA          CLOB,
      OUT_DATA         CLOB,
      BATCH_ID         VARCHAR2(100),
      LAST_UPDATED_BY  VARCHAR2(100),
      LAST_UPDATE_DATE DATE,
      CREATED_BY       VARCHAR2(100),
      CREATION_DATE    DATE,
      ATTRIBUTE1       VARCHAR2(1000),
      ATTRIBUTE2       VARCHAR2(1000),
      ATTRIBUTE3       VARCHAR2(1000),
      ATTRIBUTE4       VARCHAR2(1000),
      ATTRIBUTE5       VARCHAR2(1000)
    );
    -- Add comments to the table 
    comment on table WSDL_LOG  is '调用wsdl的日志记录';
    -- Add comments to the columns 
    comment on column WSDL_LOG.ID  is '主键';
    comment on column WSDL_LOG.SOURCE  is '从哪个系统接入';
    comment on column WSDL_LOG.NAME  is 'wsdl服务';
    comment on column WSDL_LOG.STATUS  is '状态:0=成功,1=失败';
    comment on column WSDL_LOG.IN_DATA  is '入参:大数据,clob ';
    comment on column WSDL_LOG.OUT_DATA  is '反参:大数据,clob';
    comment on column WSDL_LOG.BATCH_ID  is '批次号,可能后面做业务逻辑处理的时候入库有使用到 ';
     
    
    
      
    
    展开全文
  • oracle 调整字段顺序

    千次阅读 2017-07-17 22:52:05
    不像mysql可以直接一条sql搞定(alter...场景描述:假设我们有一张表名为test,该表有三个字段,依次为col1、col2、col3,现在我们想新增一个字段col4,并把col4放到最前面,即我们希望调整后的字段顺序为col4、col1、c

    不像mysql可以直接一条sql搞定(alter table 表名
    change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)),oracle 必须另辟蹊径,曲线救国。
    场景描述:假设我们有一张表名为test,该表有三个字段,依次为col1、col2、col3,现在我们想新增一个字段col4,并把col4放到最前面,即我们希望调整后的字段顺序为col4、col1、col2、col3。总结下来方法有三种:

    方法一

    笔者认为这是最安全保守的一种方法,就是用create table as select 重建新表,此方法适用于表中数据量不大的情况,若表中已经存在了大量数据,则本操作对空间的要求可能就很大了。详细操作如下:

    ALTER TABLE test ADD col4 varchar2(5);
    ALTER TABLE test RENAME TO test_bk;
    CREATE TABLE test AS SELECT col4,col1,col2,col3 FROM test_bk;

    方法二

    对于表中存在大量数据,并且空间有限的情况,就需要通过直接操作数据字典来实现字段顺序的调整;该方法需要系统管理员权限sys或者 as sysdba。详细操作如下:

    select object_id from all_objects where object_name='TEST';或者
    select object_id from obj where object_name='TEST';取得表TEST的object_id;假设为51234
    select obj#,col#,name from sys.col$ where obj#=51234 order by col#;查看当前字段顺序
    update sys.col$ set col#=1 where obj#=51234 and name='COL4';
    update sys.col$ set col#=col#+1 where obj#=51234 and name!='COL4';
    COMMIT;
    SHUTDOWN IMMEDIATE; 
    STARTUP; 

    切记本方法需要重启数据库生效!

    方法三

    该方法的本质实际上也是操作数据字典,但是不需要dba权限,并且此方法仅适用于12c以上版本。

    select * from v$version where rownum=1; //12C以上版本可用invisible
    ALTER TABLE  test  MODIFY( COL1 INVISIBLE, COL2 INVISIBLE, COL3 INVISIBLE);
    SELECT column_name, column_id FROM user_tab_cols  WHERE table_name = 'TEST' order by 2;
    ALTER TABLE test  ADD ( COL4 VARCHAR2(5));
    SELECT column_name, column_id FROM user_tab_cols  WHERE table_name = 'TEST' order by 2;
    ALTER TABLE  test  MODIFY( COL1 VISIBLE, COL2 VISIBLE, COL3 VISIBLE);
    展开全文
  • 调整字段顺序 修改默认值 将字段值设为非空或空 添加主键 修改主键 复制数据库表 创建表 CREATE TABLE 表名 (字段1 类型,字段2 类型,字段3 类型,...); 实例: CREATE TABLE userinfo ( userid char(...
  • Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序 转自:http://www.cnblogs.com/wenlj/p/5258102.html http://database.51cto.com/art/201011/234549.htm MySQL添加字段的方法...
  • Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结 在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,...
  • alter table `user_movement_log` Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加) 删除字段:alter table `user_movement_log` drop column Gatewayid调整字段顺序:...
  • oracle数据库利用plsql调整字段顺序

    千次阅读 2019-07-31 15:11:04
    1.Ctrl+鼠标单击表名。 2.进入表详情,点击重建表。 3.进入列选项 4.先选中列(字段),然后鼠标单击不放,移动就可以了。 5.调好顺序,点击下方应用,完成。 ...
  • ALTER TABLE — 更改表属性 添加字段: alter table `user_movement_log` Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段...调整字段顺序: ALTER TABLE `user_movement
  • 常用的通过mysql命令来更改表结构的一些sql语句,包括添加、删除、修改字段、调整字段顺序。 添加字段: alter table `user_movement_log` Add column GatewayId int not null default 0 AFTER `Re
  • 常用的通过mysql命令来更改表结构的一些sql语句,包括添加、删除、修改字段、调整字段顺序。添加字段:alter table `user_movement_log` Add column GatewayId int not null default 0 AFTER `Regionid`; (在哪个...
  • POSTGRESQL 表调整字段顺序

    千次阅读 2019-10-06 19:57:31
    在MySQL数据库里,在添加字段时可以添加到表的任意位置, 那么在POSTGRESQL里我们是否可以实现呢? 答案是肯定可以的。 PG的语法里并没有类似AFTER, BEFORE的子句。 总结: 第一种方法失败,甚至能导致数据库...
  • 添加字段: alter table `user_movement_log` Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加) 删除字段: ...alter table `user_movement_log` ...调整字段顺序: ALTER
  • 调整字段顺序 : alter table 表名 change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后) 例子: alter table appstore_souapp_app_androidmarket change getPriceCurrency ...
  • oracle数据库调整字段顺序

    万次阅读 2017-09-08 11:05:27
    四、修改表的字段顺序 update sys.col$ set col#=6 where obj#=74726 and name='SAL'; update sys.col$ set col#=7 where obj#=74726 and name='COMM'; update sys.col$ set col#=8 where obj#=74726 and ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 534,258
精华内容 213,703
关键字:

怎么调整字段顺序