ORALCE 表的一般操作 添加列、删除列、修改列 添加外键、删除外键

来源:互联网 发布:软件离职项目交接 编辑:程序博客网 时间:2024/06/06 03:49

oracle 表的一般操作   

1、创建表 包括创建主、外键约束 表、列注释

单一主键

create table A(       id   NVARCHAR2(36)  CONSTRAINT   service_tempa   PRIMARY KEY,          A01  NUMBER         DEFAULT 0,            --默认值       A02  DATE);

复合主键

create table A(       id   NVARCHAR2(36)  NOT NULL ENABLE          A01  NUMBER         DEFAULT 0,             A02  DATE,       constraint s primary key(id,A01));

单一外键

create table A(       id   NVARCHAR2(36)  NOT NULL ENABLE,      --enable 是否有效, disable 无效       A01  NUMBER         DEFAULT 0,            --默认值       A02  NVARCHAR2(36)  REFERENCES B(ID),     --外键       A03  DATE,       CONSTRAINT   AId   PRIMARY KEY (id));


复合外键(略)


列上面 的约束   (check 约束、唯一、非空)

不带约束名称

create table AA01(       id         NVARCHAR2(36)  NOT NULL ENABLE,  --enable 是否有效, disable 无效       A0101      NUMBER         DEFAULT 0,        --默认值       A0102      NVARCHAR2(36)  not null,         --非空约束       codeID     NVARCHAR2(18)  unique            --唯一约束       A0103      DATE,       sex        char(1)        check(sex in ('0','1')),   --check约束               CONSTRAINT   AId   PRIMARY KEY (id) );



带约束名称

create table AA01(       id         NVARCHAR2(36)  NOT NULL ENABLE,  --enable 是否有效, disable 无效       A0101      NUMBER         DEFAULT 0,        --默认值       A0102      NVARCHAR2(36)  NOT NULLl,        --非空约束       codeID     NVARCHAR2(18)  UNIQUE,           --唯一约束       A0103      DATE,       sex        CHAR(1)        CHECK(sex in ('0','1')),   --check约束               CONSTRAINT   AId   PRIMARY KEY (id) );



列模式(把约束写成和列平行的)

create table AA03(       id         NVARCHAR2(36)  ,       A0101      NUMBER         ,              A0102      NVARCHAR2(36)  ,       codeID     NVARCHAR2(18)  ,       A0103      DATE,              constraint id_pk2 primary key(id),                --主键       --constraint name_nn2 not null (codeID),          --列模式没办法 添加非空约束      constraint email_uqe2 unique(codeID) ,             --唯一约束  可以一次添加多个   constraint email_uqe unique(codeID,A0103)       constraint dept_deptno_ref foreign key (A0102) references AA02(id)     );

Alter 模式

create table AA04(       id         NVARCHAR2(36)  ,       A0101      NUMBER         ,              A0102      NVARCHAR2(36)  ,       codeID     NVARCHAR2(18)  ,       A0103      DATE            );alter table AA04 add constraint x1 primary key (id);                                        --主键alter table AA04 add constraint x2 unique (A0102);                                          --唯一alter table AA04 add constraint x3 foreign key (A0102) references AA02(id);                 --外键 

2、创建表 添加注释

CREATE TABLE    num_service_temp (    id            NVARCHAR2(36) NOT NULL ENABLE,    qxcode        NVARCHAR2(7),    allnum        NUMBER DEFAULT 0,     neworgnum    NUMBER DEFAULT 0,    servicenum    NUMBER DEFAULT 0,     ssjorgnum     NUMBER DEFAULT 0,    exectutetime  date,    CONSTRAINT   service_temp   PRIMARY KEY (id));comment on table num_service_temp is '各区县企业数临时表';comment on column num_service_temp.id is '主键';comment on column num_service_temp.qxcode is '区县代码';comment on column num_service_temp.allnum is '区县企业总数量';comment on column num_service_temp.neworgnum is '区县本月新增企业数';comment on column num_service_temp.servicenum is '区县白名单企业总数';comment on column num_service_temp.ssjorgnum is '区县黑名单企业总数';


3、动态的修改表

       3.1  操作列

         增加列

alter table AA03 add (age NUMBER  default 0)--增加一列  括号可以没有alter table AA03 add (age NUMBER  default 0,name varchar2(30) not null);--增加多列  必须加括号

         删除列

alter table AA03 drop column name;--删除一列    请注意!!!删除一列的时候有关键字 columnalter table AA03 drop (age,name);--删除多列

         修改列

修改列名称  

alter table AA03 rename column name to newName;

           修改列类型

alter table AA03 modify (name nvarchar2(20));--修改一列alter table AA03 modify (name nvarchar2(20));--修改多列

   3.2 操作约束

新增约束         

alter table AA04 add constraint x3 foreign key (A0102) references AA02(id);     --外键

        删除约束                

alter table AA03 drop constraint email_uqe2



















原创粉丝点击