日期:2014-05-16  浏览次数:20359 次

Oracle之约束(这尼玛绝对重点)

1.约束的分类

  • 主键约束:主键表示是一个唯一的表示,本身不能为空
  • 唯一约束:在一个表中只允许建立一个主键约束,而其他列如果不希望出现重复值,则可以使用唯一约束
  • 检查约束:检查一个列的内容是否合法
|-例如:年龄,只能在0~150随机
|-例如:性别,只能是男、女、中性(表示草泥马的性别)
  • 非空约束:某字段的内容不能为空
  • 外键约束:在两张表中进行约束操作

2.主键约束(PRIMARY KEY)

主键约束一般都在id上使用,而且本身已经默认内容不能为空。主键约束可以再建立表的时候指定。

范例:建立person,在pid上增加主键约束

CREATE TABLE person(
	pid VARCHAR2(18) PRIMARY KEY,
	name VARCHAR(200),
	age NUMBER(3),
	birthday DATE,
	sex VARCHAR2(2) DEFAULT'男'
);


可以使用CONSTRAINT为主键指定一个约束的名字。

CREATE TABLE person
(
pid VARCHAR2(18) ,
name VARCHAR2(200) ,
age NUMBER(3) ,
birthday DATE ,
sex VARCHAR2(2) DEFAULT ' ' ,
CONSTRAINT person_pid_pk PRIMARY KEY(pid)
) ;


3.非空约束(NOT NULL)

使用非空约束,表示一个字段的内容不允许为空,即:插入数据时候必须写入内容

DROP TABLE person ;
CREATE TABLE person
(
pid VARCHAR2(18) ,
name VARCHAR2(200) NOT NULL ,
age NUMBER(3) NOT NULL ,
birthday DATE ,
sex VARCHAR2(2) DEFAULT ' ' ,
CONSTRAINT person_pid_pk PRIMARY KEY(pid)
) ;


4.唯一约束(UNIQUE)

表示一个字段的内容是唯一的,其他列不允许重复。

范例:姓名不允许出现重名的现象范例