约束条件有5种
- 非空约束(not null):约束该列一定要输入值
- 主关键字约束(primary key):用来唯一标示表中的一个列,一个表中的主键约束只能有一个
- 外关键字约束(foreign key):用来约束两个表中列之间的关系
- 唯一约束(unique):用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束
- 检查约束(check):用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列
创建检查约束条件
1.创建表时直接创建检查约束
代码语言:javascript复制CREATE TABLE BOOKINFO
(
BOOKID NUMBER,
BOOKNAME VARCHAR2(20),
PUBLISH VARCHAR2(20),
PUBDATE VARCHAR2(20),
PRICE NUMBER(6,3),
AUTHOR VARCHAR2(20),
STORE VARCHAR2(1),
READER NUMBER,
REMARKS VARCHAR2(50),
CONSTRAINT CK_PRICE CHECK(PRICE>=10 AND PRICE <= 100)
);
2.在现有的表中添加检查约束
代码语言:javascript复制alter table BOOKINFO add CONSTRAINT CK_PRICE CHECK(PRICE>=10 AND PRICE <= 100)
创建非空约束
1.创建表时直接创建非空约束
代码语言:javascript复制CREATE TABLE BOOKINFO
(
BOOKID NUMBER NOT NULL,
BOOKNAME VARCHAR2(20) NOT NULL,
PUBLISH VARCHAR2(20),
PUBDATE VARCHAR2(20),
PRICE NUMBER(6,3),
AUTHOR VARCHAR2(20),
STORE VARCHAR2(1),
READER NUMBER,
REMAERKS VARCHAR2(50)
);
代码语言:javascript复制CREATE TABLE BOOKINFO
(
BOOKID NUMBER,
BOOKNAME VARCHAR2(20),
PUBLISH VARCHAR2(20),
PUBDATE VARCHAR2(20),
PRICE NUMBER(6,3),
AUTHOR VARCHAR2(20),
STORE VARCHAR2(1),
READER NUMBER,
REMAERKS VARCHAR2(50),
CONSTRAINT CK_BOOKID CHECK(BOOKID IS NOT NULL),
CONSTRAINT CK_BOOKNAME CHECK(BOOKNAME IS NOT NULL)
);
2.在现有的表中添加非空约束
代码语言:javascript复制alter table BOOKINFO add CONSTRAINT CK_PRICE CHECK(BOOKID IS NOT NULL)
创建唯一约束
关键字UNIQUE
创建方法与主键相似
主键与外键的创建与关联
http://www.cnblogs.com/lm970585581/p/7076084.html
删除约束
代码语言:javascript复制alter table test
drop constraint 约束名;