zoukankan      html  css  js  c++  java
  • Oracle学习笔记(7)

    表结构的修改与整理。

    表结构的修改语句基本上是 alter table ,然后我们讨论下在DB构建好之后的修改语句。

    不过在讨论这个之前,想说的是,一个好的数据结构,是会预留出来这些字段的,正常情况下,

    这些语句不应该被经常用到。好了,下面开始讨论。

    接下来就直接举例子,下面的语句是在Oracle 11g的基础上得出的。

    --删除

    alter table {tablename} drop column {columnname};

    例如:alter table kkt120 drop column kyoten_mei;

    --添加

    alter table {tablename} add {columnname columntype(columnlength)};

    例如:alter table kkt120 add JUCYU_KUBUN VARCHAR2(1);

    --修改

    alter table {tablename} modify {columnname columntype(columnlength)};

    例如:alter table kkt271 modify GENCHI_IDO_AVG_TANKANUMBER(16,3);

    这些是查资料得来的,更详细的详见Oracle学习笔记(8)。

    利用这些语句修改表结构之后,modify,drop是不会改变表字段位置的,而add的结果都会在最后。

    如果我们需要追加一个唯一键或者主键的时候,这样直接搞,会导致其他程序中的insert语句发生异常。

    为了避免上面的错误发生,我们需要整理表结构。即将要给出的这个方法适用于数据量不是很大的表,百万件

    以上批量执行不推荐。

    例如我们要修改t 表,表的结构是 id varchar(10)(unique key), name varchar(150), count number(7,0).现在我们需要

    追加一个唯一键约束type varchar(2)。执行script如下:

    alter table t add type varchar(2);

    create table t1 as select id,type,name,count from t;

    drop t;

    rename table t1 to t;

    alter table t add constraint t_uk1 unique (id,type);

    即可。

    百万件以上的后面再研究

  • 相关阅读:
    单链表的反转是常见的面试题目
    线程状态
    史上最强Android只是总结
    常见的一些算法
    Android LayoutInflater.inflate()使用详解
    Android事件分发机制及滑动冲突解决方案
    Kotlin——高阶函数详解与标准的高阶函数使用
    Kotlin 中的伴生对象和静态成员
    知识点
    Android Studio:多包名打包
  • 原文地址:https://www.cnblogs.com/niutouzdq/p/2771395.html
Copyright © 2011-2022 走看看