您的位置:首页 > 其它

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

2017-06-20 10:58 190 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: