约束
实体完整性:
主键约束;唯一性约束;非空约束
域完整性:
check约束
引用完整性:
foreign key约束
创建约束:
语法:
主键约束、唯一性约束:
constraint <name> primary key|unique(<column_name>)
check约束:
constraint <name> check(列条件表达式)
foreign key:
constraint <name> foreign key(<column_name>) references <table_name>(<column_name>)
实例:
添加主键约束:
alter table cus_info add constraint cus_info_pk primary key (cus_no);
添加唯一性约束:
alter table cus_info add constraint cus_name_unique unique (cus_name);
添加外键约束:
alter table cus_linkman add constraint cus_no_pk1 foreign key (cus_no) references cus_info (cus_no);
check约束:
alter table cus_linkman add constraint lkm_sex_check check(lkm_sex in ('男','女'));
手机号必须是11位数字,开头是1:
alter table cus_linkman add constraint lkm_mobile_check check(REGEXP_LIKE(lkm_mobile,'[1][1234567890]{10}'));
电话号码必须是(010)-1234567,区号3,4位,座机号7,8位:
alter table cus_linkman add constraint lkm_tel_check check(REGEXP_LIKE(lkm_tel,'\([0][1234567890]{2,3}\)-[1234567890]{7,8}'));
刪除约束:
alter table 表名 drop constraint 约束名称
实例:
alter table cus_linkman drop constraint lkm_tel_check;
禁用约束:
alter table 表名 disable/enable constraint 约束名称
实例:
-- 不启用约束
alter table cus_linkman disable constraint lkm_mobile_check;
--启用约束
alter table cus_linkman enable constraint lkm_mobile_check;
修改约束名称:
alter table 表名 rename constraint 旧约束名称 to 新约束名称
实例:
alter table cus_linkman rename constraint lkm_mobile_check to lkm_mobile_check2;