PL/SQL 知识量:16 - 57 - 244
约束就是用来束缚表中数据的,使表中的数据满足某种条件。在Oracle数据库中一共有5种约束:主键约束、外键约束、唯一约束、检查约束、非空约束。
主键约束:用来唯一标识表中一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包括多个列,也称为联合主键。
外键约束:用来约束两个表中列之间的关系。
唯一约束:用来唯一标识表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。
检查约束:用来约束表中列的输入值的范围,例如:在输入性别时,要求在数据库中只能输入男或者女,就可以使用检查约束来约束该列。
非空约束:约束该列一定要输入值。
使用PL/SQL语句创建检查约束的语法如下:
CONSTRAINT constraint_name CHECK(condition)
简要说明:
◆ CONSTRAINT:关键词。
◆ constraint_name:约束名称。
◆ condition:用来唯一标识表中一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包括多个列,也称为联合主键。例如,给“性别”字段加一个约束,要求只能输入男或者女。假设输入性别的字段名为“性别”,条件可以写成“性别='男' OR 性别='女'”。
给AGE加上检查约束:
CREATE TABLE PEOPLE ( IDD NUMBER(2,0), PNAME VARCHAR2(10), AGE NUMBER(2,0) DEFAULT 0, SEX CHAR(5), CONSTRAINT CK_AGE CHECK(AGE>0 AND AGE<120) ) ;
给表中的列设置了非空约束,就意味着在向数据表添加数据时,该列是必须要添加的。非空约束就是在创建表时,在字段名的后面添加上NOT NULL。
给PNAME加上一个非空约束:
CREATE TABLE PEOPLE ( IDD NUMBER(2,0), PNAME VARCHAR2(10) NOT NULL, AGE NUMBER(2,0) DEFAULT 0, SEX CHAR(5) ) ;
在表中创建唯一约束(UNIQUE)是用来唯一标识一个列中的输入值的,比如:注册的用户名都是唯一的,就可以用唯一约束来约束用户名这个列。使用PL/SQL语句创建唯一约束的语法如下:
CONSTRAINT constraint_name UNIQUE(column_name)
简要说明:
UNIQUE:唯一约束的关键词。
column_name:唯一约束的名称。
为IDD列添加唯一约束:
CREATE TABLE PEOPLE ( IDD NUMBER(2,0), PNAME VARCHAR2(10) NOT NULL, AGE NUMBER(2,0) DEFAULT 0, SEX CHAR(5), CONSTRAINT UN_IDD UNIQUE(IDD) ) ;
外键(FOREIGN KEY)用于建立和加强两个表数据之间连接的一列或多列。当创建或修改表时可通过定义FOREIGN KEY约束来创建外键。在外键引用中,当一个表的列被引用作为另一个表主键值的列时,就在两个表之间创建了连接,这个列就成为第2个表的外键。
系统保证表在外键上的取值要么是主表中某一个主键值或唯一键值,要么取空值,以此保证两个表之间的连接,确保了实体的参照完整性。FOREIGN KEY既可用于列约束,也可用于表约束,其语法格式为:
CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCE table_name (column_name ) ON DELETE CASCADE
简要说明:
CONSTRAINT:创建约束的关键词。
FOREIGN KEY:外键约束的关键词。
REFERENCE:引用外表的关键词。
table_name:需要引用的外表,column_name表示该表的列。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6