oracle常用的约束条件类型,oracle数据库的5种约束类型

oracle 数据库 数据表的5个约束类型:

1.主键约束

2.外键约束

3.唯一约束

4.检查约束

5.非空约束

F

主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。

外键约束:用来约束两个表中列之间的关系。

唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。

检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。

非空约束:约束该列一定要输入值。

---------------------------------------------------------------------------------------

创建一个带检查约束的表:

使用PL/SQL语句创建检查约束的语法如下所示:

CONSTRAINT constraint_name CHECK(condition)

[语法说明:]

CONSTRAINT:关键词

constraint_name:约束名称

condition:约束条件

列如:创建BOOKINFO表时,给图书价格加上一个检查约束,要求图书价格在10元到100元之间。

CREATE TABLE BOOKINFO

(

BOOKID INT,

BOOKNAME CAHR,

PUBLISH VARCHAR2(20),

PUBDATE VARCHAR2(20),

PRICE DECIMAL,

AUTHOR CHAR,

STORE VARCHAR2(1),

READER INT,

REMARKS VARCHAR2(50),

CONSTRAINT CK_PRICE CHECK(PRICE>=10 AND PRICE

);

---------------------------------------------------------------------------------------

创建一个带非空约束的表:

举例:在创建BOOKINFO表时,给图书名称加上一个非空约束。

CREATE TABLE BOOKINFO

(

BOOKID INT NOT NULL,

BOOKNAME CHAR NOT NULL,

PUBLISH VARCHAR2(20),

PUBDATE VARCHAR2(20),

PRICE DECIMAL,

AUTHOR CHAR,

STORE VARCHAR2(1),

READER INT,

REMAERKS VARCHAR2(50)

);

----------------------------------------------------------------------------------------

创建一个带唯一约束的表

语法格式:

CONSTRAINT constraint_name UNIQUE(column_name)

【语法说明】

UNIQUE:唯一约束的关键词

column_name:唯一约束的名称。

举例:创建BOOKINFO表时,为图书名称(BOOKNAME)列添加唯一约束

create table bookinfo

(

bookid int,

bookname char,

publish varchar2(20),

pubdate varchar2(20),

price decimal,

author char,

store varchar2(1),

reader int,

remarks varchar2(50),

CONSTRAINT UN_BOOKNAME UNIQUE (bookname)

);

------------------------------------------------------------------------------------------

创建一个带外键约束的表

语法格式:

CONSTRAINT constraint_name FOREIGN KEY (column_name)

REFERENCE table_name (column_name)

ON DELETE CASCADE

[语法说明:]

CONSTRAINT:创建约束的关键字

FOREIGN KEY:外键约束的关键字

Foreign

REFERENCE:引用外表的关键词

Referen

table_name:需要引用的外表,column_name表示该表的列。

举例:

create table publishinfo

(

publishid varchar(20) primary key,

publishname varchar(30)

);

create table bookinfo

(

bookid int,

bookname char,

publish varchar2(20),

pubdate varchar2(20),

price decimal,

author char,

store int,

reader int,

remarks varchar2(50),

constraint fk_publish foreign key(publish) references publishinfo(publishid) on delete cascade

);

创建BOOKINFO表,该表带有外键约束,约束名称为'FK_PUBLISH'。相关列为publish,该外键和PUBLISHINFO表中的publishid列相关联。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值