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

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;						--删除一列    请注意!!!删除一列的时候有关键字 column

alter 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	



















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值