约束作用:用来保持数据的完整性,防止无效数据进入到数据库中。
oracle数据库中提供的5种约束,都是限定某个列或者列的组合的。
1、主键约束(PRIMARY KEY):
在一个表中能唯一的标识一行。主键可以限定在多个列上。
3、唯一键约束(UNIQUE key):在一个表中能唯一的标识一行,唯一键也可以限定在多个列上。
主键和唯一键的区别:
a、一个表中最多只能有一个主键。可以多个唯一键。
b、主键所限定的列不能为null,唯一键所限定的列可以为null.
2、外键约束(FOREIGN key):
引用表:有外键约束的列所在的表。
被引用表:外键所引用的列。被引用的列只能是主键或者唯一键。
4、非空约束(NOT null):表示该列上的数据不能有null值。
5、检查性约束(check):表示该列上的数据必须满足某一个条件表达式。
如何创建约束:
1、在创建表的同时创建约束
a.列级别约束:在每个列写完之后写约束。
CREATE TABLE t_08132(id NUMBER(10) PRIMARY KEY ,
NAME CHAR(10) NOT NULL,
gender CHAR(2) CHECK (gender IN ('男','女')),
email CHAR(20) UNIQUE
)
INSERT INTO t_08132 VALUES(1,'a','男','1@neusoft.com')
INSERT INTO t_08132 VALUES(2,'a','男','2@neusoft.com')
INSERT INTO t_08132 VALUES(3,'c','男','3@neusoft.com')