Oracle数据库五种约束
oracle 数据库 数据表的5个约束类型:
1.主键约束
2.外键约束
3.唯一约束
4.检查约束
5.非空约束
主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。
外键约束:用来约束两个表中列之间的关系。
唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。
检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。
非空约束:约束该列一定要输入值。
---------------------------------------------------------------------------------------
创建一个带检查约束的表:
使用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 <= 100)
);
---------------------------------------------------------------------------------------
创建一个带非空约束的表:
举例:在创建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:外键约束的关键字
REFERENCE:引用外表的关键词
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列相关联。
Oracle数据库五种约束的更多相关文章
- Oracle的五种约束
1.非空(NOT NULL)约束:所定义的列不绝对不能为空: 例如:将已经创建好的表BOOK中的bookname字段修改为不为空: 利用 ALTER TABLE.......MODIFY ...... ...
- Oracle--数据库中的五种约束
数据库中的五种约束 数据库中的五种约束及其添加方法 五大约束 1.--主键约束(Primay Key Coustraint) 唯一性,非空性 2.--唯一约束 (Unique Counstraint ...
- SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束
一直在关注软件设计方面,数据库方面就忽略了很多,最近在设计数据库时遇到了一些小麻烦,主要是数据库中约束和性能调优方面的应用,以前在学习 Sql Server 2000,还有后来的 Sql Server ...
- Oracle命令(二):Oracle数据库几种启动和关闭方式
一.Oracle数据库几种启动方式 1.startup nomount 非安装启动,这种方式下启动可执行:重建控制文件.重建数据库,读取init.ora文件,启动instance,即启动SGA和后台进 ...
- Oracle数据库四种数据完整性约束
Oracle数据库四种数据完整性约束 1.实体完整性 同样的数据不能重复插入(1)采取什么措施保证实体完整性?我们可以给表创建主键约束吗,主键保证了数据的唯一性,主键可以保证同一条记录只能插入一次. ...
- DB2有五种约束
DB2有五种约束: NOT NULL 约束是这样一种规则,它防止在表的一列或多列中输入空值. 唯一约束(也称为唯一键约束)是这样一种规则,它禁止表的一列或多列中出现重复值.唯一键和主键是受支持的唯一约 ...
- Oracle数据库几种启动方式及查询当前状态
Oracle数据库几种启动方式 1.startup nomount: 非安装启动,这种方式下启动可执行:重建控制文件.重建数据库,读取init.ora文件,启动instance,即启动SGA和后台进程 ...
- 【SQL】数据库中的五种约束
#五大约束 1.主键约束(Primay Key Coustraint) 唯一性,非空性 2.唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3.检查约束 (Check ...
- Oracle数据库三种备份方案
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用 ...
随机推荐
- CCNA 6.5
no sh (no shutdown : start the interface) router rspf 1 network x.x.x.x x.x.x.x area 0 int (interf ...
- 学习MVC的一些随笔简单记录
1 视图本身没有它所要显示的数据,视图的数据源始终是控制器 3 游戏的进行是模型的一部分,不是控制器的一部分 4 模型关于游戏是什么,在模型中封装游戏进行的逻辑,模型对用户界面一无所知,里面没有任何同 ...
- 10 件在 PHP 7 中不要做的事情
1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数 ...
- sql学习资料
http://blog.sina.com.cn/s/articlelist_1594135432_9_1.html
- 《JAVA学习笔记(14-1---14-7)》
[14-1]面向对象-继承-概述 /* //描述学生 class Student { //属性 String name; int age; //行为 void study() { System.out ...
- lightoj1027
//Accepted 1688 KB 0 ms //概率简单题 //假设我们在n个门前加个起点,在n个门后加个终点,起点可以到达n个门, //为正的门可以到达终点,为负的回到起点 //则假设我们从起点 ...
- STL 源码分析《5》---- lower_bound and upper_bound 详解
在 STL 库中,关于二分搜索实现了4个函数. bool binary_search (ForwardIterator beg, ForwardIterator end, const T& v ...
- Interview----判断整数序列是否是二叉搜索树的后序遍历结果
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果. 如果是返回true,否则返回false. 例如输入5.7.6.9.11.10.8,由于这一整数序列是如下树的后序遍历结果: ...
- ubuntu下的wps不能使用中文.
首先如果wps不能用中文的话应该是 excell ppt word 都不能用 . 我的办法需要改三个文件 . 先后打开这三个文件 . xpower@xpower-CW65S:~$ sudo vim / ...
- JAVA嵌套循环
Java语言中的各种循环.选择.中断语句和C/C++一般无二. 选择结构 循环结构 中断(跳转) if for return if else while break if elseif do whil ...