Oracle数据库知识学习之约束的注意事项和实例解析
作者: / 2019-08-28 / 浏览次数:

如果不指定约束名 ,oracle server 自动按照 sys_cn 的格式指定约束名

创建和修改约束:

建表的同时

建表之后

可以在表级或列级定义约束

可以通过数据字典视图查看约束

作用范围:

①列级约束只能作用在一个列上

②表级约束可以作用在多个列上

定义方式:列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义。

非空 约束只能定义在列上

值不为空

不允许出现相同的记录

允许出现多个空值:null。

代码:

create table teacher3 not null,
femail varchar2 unique,
ftel varchar2,
constraint teacher3_tel_uq unique
)

下图空值是允许的:

\

可以定义在表级或者列级

唯一标示,不允许空值

代码示例:

fid number primary key,

外键:在一个表作外键,另外一个表做主键

可以定义在表级或者列级

代码:

--建表clas_info
create table class_info;
insert into class_info values;
insert into class_info values;
insert into class_info values;
--建表teacher4用外键fclass_id 关联表class_info
create table teacher4 unique,
fclass_id number ,
constraint teacher4_fclass_id_fk foreign key
references class_info unique,
fclass_id number references class_info
)

foreign key 约束的关键字:

foreign key: 在表级指定子表中的列

references: 标示在父表中的列

on delete cascade: 当父表中的列被删除时,子表中相对应的列也被删除

on delete set null: 子表中相应的列置空

定义每一行必须满足的条件。

代码示例:

--检查约束
create table teacher7,
fage number check,
ftel varchar
)

使用 alter table 语句:

添加或删除约束,但是不能修改约束

有效化或无效化约束

添加 not null 约束要使用 modify 语句

alter table table

add constraint constrainttype

代码示例:

alter table teacher7
add constraint teacher7_fname_qu unique

语法:

alter table table

drop constraint constraint

代码示例:

alter table teacher7
drop constraint teacher7_fname_qu

在alter table 语句中使用 disable 子句将约束无效化。

代码示例:

alter table teacher7
disable constraint teacher7_fname_uq

enable 子句可将当前无效的约束激活 。

当定义或激活unique 或 primary key 约束时会自动创建unique 或 primary key索引。

代码示例:

alter table teacher7
enable constraint teacher7_fname_uq
【某某业务】网站建设、网站设计、服务器空间租售、网站维护、网站托管、网站优化、百度推广、自媒体营销、微信公众号
如有意向---联系我们
热门栏目
热门资讯

网站建设 网站托管 成功案例 新闻动态 关于我们 联系我们 服务器空间 加盟合作 网站优化

备案号: 

公司地址:江苏省南京市玄武区玄武湖 咨询QQ:9490489 手机: 电话: