Oracle学习笔记(八) 约束

来源:互联网 发布:mac谷歌应用商店打不开 编辑:程序博客网 时间:2024/06/09 23:03

约束的作用

定义规则

确保数据完整性


非空约束

在创建表的时候设置

CREATE TABLE table_name(

column_name datatype NOT NULL,...

)


修改表的时候设置

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;


删除非空约束

ALTER TABLE table_name MODIFY couumn_name datatype NULL;


主键约束

确保表中每一行数据的唯一性,非空,唯一,智能设计一个主键约束,但是可以是多列

在创建表时设置:

CREATE TABLE table_name( 

column_name datatype PROMARY KEY,

)

实例联合主键

create table userinfo (

id number(6,0),

username varchar2(20)

constraint pk_Id_username primary key(id,username)

);


修改表时添加:

ALTER TABLE tatble_name

ADD CONSTRAINT constraint_name PRIMARY KEY(column_name1,....);


删除主键约束

第一种

DISABLE|ENABLE CONSTRAINT constraint_name

第二种

ALTER TABLE table_name

DROP CONSTAINT constraint_name

第三种

DROP PRIMARY KEY[CASCADE]

可选为级联删除,可以删除有关的外键信息


外键约束

两个表中的列关联

创建表的时候设置:

列级设置:

CREATE TABLE table1

(column_name datetype REFERENCES table2(column_name),....);

主表为table2字段必须是主键字段,同一个类型 table1为从表

CONSTRAINT constraint_name FOREIGN KEY(column_name_ REFERENCES table_name(column_name) [ON DELETE CASCADE]

级联删除为可选项,如果主表中的数据被删除了设置了级联之后,如果主表数据被删除,在从表中使用到该数据的数据会跟着被删除,保证数据的完整。


修改表的时候添加设置:

ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]

删除外键约束

禁用:

DISABLE|ENABLE CONSTRAINT constraint_name;

删除:

DROP CONSTRAINT constraint_name;



唯一约束

保证值的唯一性。唯一约束可以有空值。唯一约束可以有多个。

创建表的时候设置唯一约束:

CREATE TABLE table_name(

column_name datetype UIQUE);

表级设置

CONSTRAINT constraint_name

UNIQUE(column_name);

多个要多个字句,不能用逗号分割。



修改表的时候设置唯一约束:

ADD CONSTRAINT constraint_name UNIQUE(column_name);


删除唯一约束:

禁用:

DISABLE|ENABLE CONSTRAINT constraint_name;

删除:

DROP CONSTRAINT constraint_name;


检查约束

作用,表中的值更具有实际的意义。

CREATE TABLE table_name(

column_name datatype CHECK(expressions),....);

expressions为表达式,比如:列名>0

表级创建:

CONSTRAINT constraint_name CHECK(expression);

修改表的时候添加

ADD CONSTRAINT constraint_name

CHECK(expressions);

删除检查约束

禁用:

DISABLE|ENABLE CONSTRAINT constraint_name;

删除:

DROP CONSTRAINT constraint_name;


数据字典查看约束:

user_constraints






原创粉丝点击