美文网首页
Oracle约束

Oracle约束

作者: 堆石成山 | 来源:发表于2020-09-09 21:55 被阅读0次

什么是约束?
约束是Oracle提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据来保证数据库的完整性。

constraint constraint_name <约束>(字段)

约束:
primary key constraint——主键约束:表级约束,值不能为NULL,不能重复,一个表只能有一个
如设定主键约束:constraint id_pk primary key(sid)
修改表添加主键约束:alter table student add constraint id_pk primary key(sid);

unique constraint——唯一性约束:指定一个或多个列的组合值具有唯一性
例如:

create table student(
sid number(8,0),
name varchar2(20),
sex char(2) constraint nn_sex,
birthday date,
address varchar2(50),
email varchar2(50) unique,
cardid varchar2(18),
constraint cardid_pk unique(cardid)//指定约束的名称
);

修改表时添加唯一性约束:alter table student add constraint cardid_pk unique(cardid);
禁用唯一性约束:alter table student disable constraint cardid_pk;
删除唯一性约束:alter table student drop constraint cardid_pk;

default constraint——默认约束
not null constraint——非空约束:列级约束,确保列不能为NULL
例如:

create table student(
sid number(8,0),
name varchar2(20) not null,//推荐
sex char(2) constraint nn_sex not null,//指定约束的名称
birthday date,
address varchar2(50),
constraint sid_pk primary key(sid)//指定约束的名称
);

修改表添加约束:alter table student add [constraint constraint_name] constraint_type (column);
添加非空约束:alter table student modify (name varchar2(20) not null);

check constraint——检查约束:限制输入值
创建表时设置检查约束:

create table student(
sid number(8,0),
name varchar2(20),
sex char(2) check(sex='男'or sex='女'),//列级添加约束,两者选其一
birthday date,
address varchar2(50),
constraint ck_sex check(sex='男' or sex='女')//表级添加约束,两者选其一
);

修改表是添加检查约束:alter table student add constraint ck_sex check(sex='男' or sex='女');
禁用启用检查约束:alter table student disable/enable constraint ck_sex;
删除约束:alter table student drop constraint ck_sex;

foreign key constraint——外部键约束:是用于建立或者加强两个表数据之间的链接的一列或多列,通常是先创建的表是主表,后是从表。
例如:

//主表
create table department(
depid varchar2(10) primary key,
depname varchar2(30)
);
//从表
create table student(
sid number(8,0);
name varchar2(20);
sex char(2)
birthday date,
address varchar2(50),
depid varchar2(10) references department(depid)
)
//或
create table student(
sid number(8,0);
name varchar2(20);
sex char(2)
birthday date,
address varchar2(50),
depid varchar2(10) ,
constraint fk_depid foreign key(depid) references department(depid) on delete cascade//级联删除
)

修改表时添加外接约束:alter table student add constraint fk_depid foreign key(depid) references department(depid) on delete cascade;

删除约束:
1、禁用或开启:alter table student disable|enable constraint constraint_name
2、永久删除:alter table student drop constraint constraint_name
3、删除主键约束的格式:alter table student drop primary key
4、另一只方面常用的删除非空约束:alter table table_name modify column_name datatype null;

相关文章

  • Oracle约束

    永远要相信美好的事情即将发生 oracle学习 约束 约束其实就是一个规则为了使数据库数据能够符合商业逻辑或者企业...

  • Oracle约束

    什么是约束?约束是Oracle提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据...

  • oracle约束

    1.主键直接在字段后加primary key即可或者在最后加主键约束或者在创建表后alter table 表名 a...

  • Acitviti清空Oracle表及约束

    Acitviti清空Oracle表及约束

  • Oracle之约束

    约束用于限制加入表数据的类型,目的是保证数据的一致性和完整性 创建格式:在创建表时规定约束(在Create添加),...

  • 禁用外键约束来解决输入数据出错的问题之解决方案三

    第三种解决方案:采用Oracle 可延迟约束Deferable。 约束可以是deferrable或not defe...

  • 5、oracle之约束

    约束描述:定义规则,保证数据的完整; 分类,非空约束 、检查约束 、主键约束 、唯一约束 创建表,设置非空约束 C...

  • 三、Oracle之约束

    1、概述 定义规则 确保完整性 2、非空约束 在创建表时设置非空约束 在修改表时添加非空约束 在修改表时去除非空约...

  • Oracle课堂笔记FOUR

    约束:保证数据库有某些特定的商业逻辑,维护数据的完整性:约束、触发器、应用程序(过程、函数) Oracle中,约束...

  • 210516:Oracle删除约束(6个)-Oracle数据库中

    一. oracle 删除主键约束_SQL基础知识:约束(实例) 给大家介绍SQL中六种工作中经常使用到的约束,供大...

网友评论

      本文标题:Oracle约束

      本文链接:https://www.haomeiwen.com/subject/youyektx.html