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,...))

时间: 2024-11-03 21:41:32

Oracle约束的使用的相关文章

Oracle约束的状态及验证机制

一.Oracle约束的状态 Oracle完整性约束的状态有4种,分别是ENABLE.DISABLE.VALIDATE.NOVALIDATE. ENABLE          表示Oracle将检查要插入或更新的数据库中的数据是否符合约束: DISABLE         表示表中可以存放违反约束的行: VALIDATE       表示数据库验证表中的已存在数据是否符合约束: NOVALIDATE  表示数据库不验证表中已存在数据是否符合约束. Oracle默认约束状态为ENABLE.VALID

Oracle约束状态

第一: oracle约束的4种状态: disable novalidate 既不会约束新增数据也不会验证已有数据,等同于disable enable novalidate 约束新增数据但不会验证已有数据 disable validate 约束新增数据但不会验证已有数据,启用后禁止DML enable validate 约束新增数据并验证已有数据,等同于enable 测试: --1.创建一个实验表 CREATE TABLE check_test AS SELECT * FROM scott.emp

转 ORACLE约束总结

https://www.cnblogs.com/kerrycode/archive/2012/05/13/2454614.html 你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了.ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本ORACLE是否不同)?视图有约束吗?约束是否会影响SQL性能? 约束信息存储在哪些系统视图.数据字典中?约束能否修改名称?能否禁用约束?延迟约束有啥好处.......

oracle 约束

一.维护数据的完整性 概述:数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则.在Oracle中,数据完整性可以使用约束.触发器.应用程序(过程.函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选. 1.约束 约束用于确保数据库数据满足特定的商业规则.在Oracle中,约束包括:not null.unique.primary key, foreign key和check五种. A.not null(非空) 如果在列上定义了not null

Oracle约束详解

一 约束的定义 约束是强加在表上的规则或条件.确保数据库满足业务规则.保证数据的完整性.当对表进行DML或DDL操作时,如果此操作会造成表中的数据违反约束条件或规则的话,系统就会拒绝执行这个操作.约束可以是列一级别的 也可以是表级别的.定义约束时没有给出约束的名字,ORACLE系统将为该约束自动生成一个名字,其格式为SYS_Cn,其中n为自然数(强烈建议各位在创建表或增加约束时,给约束定义名称.) 在ORACLE中,数据完整性可以使用约束.触发器.应用程序(过程.函数)三种方法来实现,在这三种方

[Oracle]约束(constraint)

(一)约束的概念 在Oracle中,可以通过设置约束来防止无效数据进入表中.Oracle一共有5种约束: 主键约束(primary key) 外键约束(foreign key) 唯一性约束(unique) 非空约束(not null) 检查约束(check) (1)主键约束 --主键约束可以定义在一列或多列上,值具有唯一性.非空性: --在一个表上只能定义一个主键约束: --Oracle会自定在主键约束的列上创建唯一性索引,可以指定唯一性索引的位置及存储参数. (2)外键约束 --外键约束列的取

十五、oracle 约束

一.维护数据的完整性数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则,在oracle中,数据完整性可以使用约束.触发器.应用程序(过程.函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选. 二.约束约束用于确保数据库数据满足特定的商业规则.在oracle中,约束包括:not null. unique, primary key, foreign key和check 五种.1).not null(非空)如果在列上定义了not null,那么

oracle约束

oracle中提供了5种约束,目的:防止无效的或有问题的数据输入到表中,维护表的完整性 (1)非空(NOT NULL)约束,,定义的列不能为空 (2)唯一(UNIQUE)约束,表中每一行中所定义的列,列值不能相同 (3)主键(PRIMARY KEY)约束,唯一标识表中的一行 (4)外键(FOREIGN)约束,维系子表的主表的引用完整性 (5)条件(CHECK)约束,每行都要满足约束条件 约束关键字 constraint 完整性约束(主键约束) (1)建表时,在列中添加primary key cr

oracle约束总结(not null/unique/primary key/foreign key/check)

约束(constraint):对创建的表的列属性.字段进行的限制.诸如:not null/unique/primary key/foreign key/check 作用范围: ①列级约束只能作用在一个列上 ②表级约束可以作用在多个列上(当然表级约束也可以作用在一个列上) 定义方式:列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义. - -NOT NULL:不为空约束,只能定义在列级 CREATE TABLE employees( employee_id NUMBER(6), --<sp