代码改变世界

Oracle 关于定义约束 / 修改表结构 /修改约束

2015-07-25 13:24  Evan.Pei  阅读(372)  评论(0编辑  收藏  举报

---约束分5种:主键 外键 唯一 非空 检查5类约束

Oracle中分列级别约束 与 表级别约束

列级别约束:在创建表时再列上面加约束

例如:

create table table11(
stuno number(2) constraint table_pk primary key,
tname varchar2(5)unique--唯一约束
)

上面两个字段都是在列上面直接写的约束 :可选[constraint table_pk] primary key,

表级别约束:

例如:

--表级别约束
create table table22(
idno number(2),
tname varchar2(5)unique,--唯一约束
price number(5,2) check(price>100),--check约束
stuno number(2), 
   --下面是表级别约束就是鞋子所有列下面
constraint tb_2_pk primary key(idno),
constraint tb_2_fk foreign key(stuno) references table11(stuno)
)

 在所有字段下面添加约束叫 表级别约束

 ----------------修改表

alter table table22 drop [列名,,,]--删除列
alter table table22 add 列名 类型 [默认值]--添加列
alter table table22 modify 列名 类型 [默认值]--修改列

--------添加表级别约束

alter table tablename
add constraint table_pk primary key(id);--添加主键

alter table tablename
drop table_pk;--删除主键

------修改列的约束

alter table tablename modify 列名 constraint notnull not null;--添加非空约束
alter table tablename modify 列名 constraint check2 check(列名>1200);--check约束

-----删除列的约束

alter table tname  drop constraint 约束名;--按约束名删除
alter table tname  modify 列名 null;--删除非空约束