Oracle课堂笔记FOUR

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

Oracle中,约束分为5种

1、非空约束:如果给某个字段定义了not null,name在插入数据的时候,就必须为给字段提供数据。

--创建表的时候添加非空约束

create table user_table(

username varchar2(20) not null,

password varchar2(20)

);

--修改表的时候添加非空约束

alter table table_name modify 字段名 字段类型 not null;

--删除非空约束

alter table table_name modify 字段名 字段类型 null;

主键约束(primary key):主键是定位表中单个行的方式,可以唯一标识表中的数据,关系型数据库每一张表都应该有主键,主键可以是一个字段也可以是多个字段

1、主键列必须非空且唯一

2、每张表只能有一个主键,不过这个主键可以由多个字段共同组成(联合主键)

--在创建表的时候添加主键约束

--列级约束

create table student_table(

student_id number(10) primary key,

student_name varchar2(20)

);

表级约束

create table student_table(

student_id number(10),

student_name varchar2(20),

constraint pk_student_id primarykey(student_id) 

);

user_constraints 

sql developer

--修改表的时候添加主键约束

alter table table_name add constraint 约束的名字 primary key(.....);

--删除主键约束

alter table tablename drop constraint 约束的名字 alter table tablename drop primary key;

alter table tablename disable|enable constraint 约束的名字;

外键(foreign key):

用于联系主表和从表之间的关系,外键定义在从表上的,

要求外键数据必须在主表的主键列中存在或者为null;

--在创建表的时候设置外键约束

列级约束:

create tablebriup_dept(  --主表

deptno number(2) primary key,

dname varchar2(20),

loc varchar2(20)

);

create tablebriup_emp(    --从表

ename varchar2(20) constraint 约束的名字 not null,

deptno number(2) references briup_dept(deptno)

);

表级约束:

create tablebriup_emp(    --从表

ename varchar2(20) not null,

deptno number(2),

constraint fk_emp_deptno_dept_deptno foreign key references briup_dept(deptno) [on delete cascade];

);

--删除外键约束

alter table tablename drop constraint 约束的名字 alter table tablename disable|enable constraint 约束的名字;

4、唯一约束

unique

--创建表的时候添加唯一约束

create table test(

username varchar2(20) unique

);

create table test(

username varchar2(20),

constraint 约束的名字 unique(字段);

);

--在修改的时候

alter table table_name add constraint 约束的名字 unique(.....);

--删除唯一约束

alter table tablename drop constraint 约束的名字 alter table tablename disable|enable constraint 约束的名字;

5、检查约束

--在创建的时候添加检查约束

create table emp(

sex varchar2(20) default '男' check(sex in ('男' ,'女')), 

sal number(5) check(sal>0)

);

--修改

alter table table_name add constraint 约束的名字 check(条件);

--删除

alter table tablename drop constraint 约束的名字 alter table tablename disable|enable constraint 约束的名字;

你可能感兴趣的:(Oracle课堂笔记FOUR)