约束

作者: 王凯_wkk | 来源:发表于2017-12-13 20:14 被阅读0次
not null 约束只能定义在列级别上。

-not null 也叫非空约束 ,确保被约束列的所有行记录都不能为空值。
-列子

create table emp (
         empno number(4),
        ename varchar2(10) not null
)

UNIQUE 约束
UNIQUE 约束:也叫唯一约束 ,用来确保表中的某一列或者几列组合的所有行数据必须唯一,定义UNIQUE约束的列(列组合)被称为唯一键。 每个表可以有多个UNQUE约束。
例子:

create  table  dept (
deptno number(2),
dname varchar2(14) constraint  dept_dname_uk UNIQUE,
loc  varchar2(13)
);

primary key 约束
primary key 约束 : 主键约束,用来确保表中的某一列或者几列组合的所有行数据必须唯一,主键列不能包含空值;
一个表只能创建一个主键约束。

例子

         deptno number(2) constraint dept_deptno_pk primary key,
dname varchar(10),
loc varchar2(13),
constraint dept _dname_uk UNIQUE(dname)
);

foreign key
foreign key:外键约束,外键是确保关联的两个列的关系。
外键列的值必须在引用值得范围内,或为空
外键参照的列 ,必须是主键唯一键
主键表主键值被外键表参照时,主键表记录不允许被删除。

例子

create table emp (
empno number(4),
ename varchar2(10) not null,
job varchar(9),
deptno number(7,2) not null constraint emp_deptno_fk references dept (deptno),
sal number (7,2)
);

foreign key : 定义在表的列中
references:针对引用的表内

check 约束

check 约束:也叫检查性约束,确保某个列的所有行数据都必须满足的条件
例子;sal number(8,2) constraint dept_sal_ck check(sal>0)
含义是:要求sal 的列的所有数据必须大于0

练习1:

xno number(3) constraint x_xon_pk primary key,
xzr varchar2(20) constraint x_xzr_uk   unique,
xxx varchar2(20) constraint x_xxx_nn not null
 

);

create table class (
classno number(3) constraint class_classno_pk primary key ,
classname varchar2(20) constraint class_classname_uk unique,
ssx number(20) constraint class_ssx_fk  references  x(xno)
) 

追加约束

追加或删除约束,但不能修改结构;
启动或禁用约束;
追加外键约束的例子:alter table 表名 add 约束名别名 约束类型
追加NOT NULL约束: alter table 表名 modify(修改) 约束别名列 not null
删除约束 :alter table 表名 DROP primary key|unique(受约束列的名字)
constraint 约束名 (级联删除)。‘
删除约束的例子: alter table emp drop constraint emp_mgr_fk;
删除dept 表的外键约束,并且删除相关联在emp表deptno上的froeign key约束;
例子: alter table dept dorp primary key cascade;

启动约束的方法:
例子:alter table 表名 enable constraint 约束名;
约束禁用的方法:
例子:alter table 表名 disable constraint 约束名;

课后习题:

2,  create table sc(  

           id number(10),  

           sno varchar2(16) not null, 

           cno varchar2(16) not null, 

           grade number(4),  

           constraint pk_id primary key id,  

           constraint fk_sno foreign key(sno) references student(sno),  

           constraint fk_cno foreign key(cno) references course(cno),  

           constraint ck_grade check (grade between 0 and 100)      

    )   
3.   create table copy_emp as (select * from emp  where 1=0);

4     create table copy_dept as (select * from dept where 1=0);
5.
6.   alter table copy_dept  add constraint pk_dept_dept primary key(deptno)   ;

相关文章

  • mysql约束

    1, mysql 不支持外键约束 ,条件约束约束分为列级约束,primary 主键约束check 条件约束for...

  • 2018-11-20 mysql 表约束

    知识点一: 表约束 非空约束,唯一约束,自增长,默认约束,主键约束,外键约束 1 not null 非空约束 例子...

  • mysql 约束

    mysql 中常见的约束: 默认约束 非空约束 主键约束 唯一约束 外键约束 自增长约束 顾命思议,主要讲几个容易...

  • MySQL约束简介

    约束能保证数据的完整性和一致性。约束类型:主键约束、唯一约束、非空约束、默认约束、外键约束 主键约束(PRIMAR...

  • mysql基础(二)

    约束 约束保证数据的完整性和一致性,约束分为表级约束和列级约束。表级约束和列级约束有五种约束: NOT NULL ...

  • 初学oracle

    约束: 非空约束:not null 唯一约束:unique 检查约束:check 主键约束:primary ke...

  • MySQL 基础 4 多表设计之外键约束

    1.1 约束 1.1.1 约束的作用   约束是用来保证数据的完整性。 1.1.2 单表约束 主键约束 唯一约束 ...

  • 17/12/13约束

    17/12/13约束 约束命名规则 表明_列名 _约束类型 unique约束(唯一约束) constraint(建...

  • 数据库约束

    约束类型 非空约束 not null 唯一性约束 unique 主键约束 primary key 外键约束 for...

  • XML约束——DTD约束

    约束 XML技术中,可以编写一个文档来约束一个XML的书写规范,约束文档定义了在XML中允许出现的元素名称、属性及...

网友评论

      本文标题:约束

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