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);

    即可。

    百万件以上的后面再研究

  • 相关阅读:
    如何下载网络图片资源
    经典排序之快速排序(含红黑树)
    经典排序之归并排序
    node微信公众号开发---自动回复
    koa2的文件上传
    async await的用法
    Generator yield语法和 co模块
    CentOS 7 下安装 Nginx
    windows下nginx的安装及使用方法入门
    linux下nodejs安装以及如何更新到最新的版本
  • 原文地址:https://www.cnblogs.com/niutouzdq/p/2771395.html
Copyright © 2011-2022 走看看