加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle-07-约束条件

发布时间:2020-12-12 13:45:53 所属栏目:百科 来源:网络整理
导读:1、主键约束 主键(Primary key?简称PK) 主键约束=不能重复+不能为空 一张表中只能存在一个主键,主键可以是一列也可以是多列组合(联合主键) 主键约束可以有两种定义方式:列级约束和表级约束 列级: create table student(id number ( 4 ) primary key ,

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添加外键约束,数据插入有先后顺序的,一定先有部门号,再将员工分配给指定的部门

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读