Oracle约束的使用

Posted 拿着菜刀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle约束的使用相关的知识,希望对你有一定的参考价值。

--5个约束,主键约束、外键约束、唯一约束、检查约束、非空约束。

--添加主键约束 Alter table table_name Add constraints constraint_name Primary key (column_name);

--语法说明 constraint_name:约束名称。 column_name:主键约束指定数据表中的列名。

--移除主键约束 Alter table table_name Drop constraint constraint_name;

--外键约束

--直接在表里添加外键约束,需要在创建表时在最后边添加如下语句

constraint constraint_name foreign key (column_name)  reference table_name(column_name) on delete cascade;  

--语法说明  constraint_name:外键约束的名称。  

foreign key(column_name):指定外键约束的列名。

 reference:需要引用的表名(列名)。

 on delete cascade:设置级联删除,当主键子弹被删除是外键对应的字段也同时被删除。

--创建表后直接添加外键约束

Alter table table_name add constraint constraint_name foreign key(column_name) reference table_name(column_name) on delete cascade;

--删除外键约束

Alter table table_name drop constraint constraint_name;

--Check约束

--在创建表是添加检查约束,直接在字段后边添加约束

constraint constraint_name Check(condition);

condition:是检查约束的条件。

--Alter Table 添加Check约束

Alter table table_name Add constraint constraint_name check(condition);

--删除Check约束 Alter 

table table_name Drop constraint constraint_name;

--Unique约束,唯一约束,

Create表时添加唯一约束 constraint constraint_name unique(column_name);

--修改表时添加唯一约束

Alter table table_name Add constraint constraint_name unique(column_name);

--移除表的唯一约束

Alter table  table_name Drop constraint constraint_name;

--创建非空约束,创建表时直接添加非空约束

... not null,

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

Alter table table_name Modify column_name Not null;

--truncate完全删除表,删除后不可以恢复。

truncate table table_name;

--merge语句,批量修改和批量增加语句

Merge [into] table_name1 using table_name2 on (condition) when matched then merge_update_clause  when not matched then merge_insert_clause;    --语法说明  table_name1:要修改或添加的表。

 table_name2:参照的更新表。  condition:table_name1和table_name之间的关系,或其他的一些条件。  merge_update_clause:如果和参照表table_name2中的条件匹配,就执行更新操作。(update set column_name1=column_name2)  merge_insert_clause:如果条件不匹配,就执行新增操作。(insert into (column_name2,column_name2,...))

 

以上是关于Oracle约束的使用的主要内容,如果未能解决你的问题,请参考以下文章

Oracle约束的使用

在 oracle11g系统中 约束的类型都有哪些

Oracle笔记 约束

Oracle 11g - 使用 RegEx 检查约束

oracle 约束

oracle数据导入时,提示违反唯一约束性?