Oracle-07-约束条件

前端之家收集整理的这篇文章主要介绍了Oracle-07-约束条件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、主键约束

主键(Primary key 简称PK)

主键约束=不能重复+不能为空

一张表中只能存在一个主键,主键可以是一列也可以是多列组合(联合主键)

主键约束可以有两种定义方式:列级约束和表级约束

列级:

create table student(
id number(4) primary key,name varchar2(20)
);

表级:

create table student(
id number(4),name varchar2(20),constraint student_id_pk primary key(id)
);

约束命名:表级定义约束建议命名规则:表名_列名_约束类型

2、非空约束

非空约束:not null 简称NN

注意:非空约束只能定义在列级

create table student(
id number(4) primary key,name varchar2(20) not null
);

3、唯一约束(unique 简称UK)

列级:

create table student(
id number(4) primary key,name varchar2(20) not null,email varchar2(15) unique
);

表级:

create table student(
id number(4),email varchar2(15),constraint student_id_pk primary key(id),constraint student_email_uk unique(email)
);

4、检查约束(check 简称CK)

列级:

create table student(
id number(4) primary key,email varchar2(15) unique,sex char(1) check(sex in(F,M))
);

insert into student values(0001,张三,[email protected],F);

表级:

create table student(
id number(4),sex char(1),constraint student_email_uk unique(email),constraint student_sex_ck check(sex in(F,M))
);

5、外键约束(foreign key  简称FK)

外键约束定义在两张表的两个字段上(或一张表的两个字段上),用来保证两个字段关系。

create table temp_dept(
deptno number(2) primary key,dname varchar2(10) not null
);

create table temp_emp(
empno number(4) primary key,ename varchar2(15) not null,deptno number(2),constraint temp_emp_deptno_fk foreign key(deptno) references temp_dept(deptno)
);

//员工表插入数据
insert into temp_emp values(1001,张三丰,40);
//部门表插入数据
insert into temp_dept values(40,研发部);

说明:员工表中deptno添加外键约束,数据插入有先后顺序的,一定先有部门号,再将员工分配给指定的部门

猜你在找的Oracle相关文章