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列相关联。

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

  1. 数据库的定义、关系型数据库的四种约束。。

    今天离开C#开始进入数据库的学习,初步认识了一下:1,什么是数据库  2,数据库表的创建  3,关系型数据库的四种约束方法 1,什么是数据库: (1)定义:数据库是存储在计算机硬盘上,有组织,可以共享 ...

  2. dhcp服务器有哪些消息类型,DHCP 协议的 8 种消息类型及功能服务器

    1) 主机发送 DHCP Discover 广播包在网络上寻找 DHCP 服务器: 单播数据包, 地址. 2) DHCP 服务器向主机发送 DHCP Offer 单播数据包,包含 IP 地址.MAC ...

  3. Mysql数据库---约束类型_mysql数据库的数据类型及约束

    1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) mediumint(m) ...

  4. python函数支持哪些参数类型_Python函数的几种参数类型

    以下代码均以Python3为基础理解. 初识Python函数 大部分常见的语言如C.Java.PHP.C#.JavaScript等属于C系语言,Python不属于他们中的一员(ruby亦然).在这些语 ...

  5. java中两种异常类型_Java中的三种异常类型

    java中两种异常类型 Errors are the bane of users and programmers alike. Developers obviously don't want thei ...

  6. oracle常用函数使用大全 Oracle除法

    一.运算符  算术运算符:+ - * / 可以在select 语句中使用  连接运算符:|| select deptno|| dname from dept;  比较运算符:> >= = ...

  7. oracle常用的字符串函数,Oracle的常用字符函数实验展示

    Oracle提供了众多实用的字符函数,在众多的字符函数中常用的并不多,精通常用的几个字符函数便可游刃有余. 通过这个小文儿简单演示一下常用字符函数的用法,供参考. 1.实验预备动作 1)创建实验表T ...

  8. oracle常用用户有哪几个,oracle解锁用户的命令有哪些

    oracle解锁用户的命令有:1.使用plsql工具sys用户登录,代码为[ALTER USER 用户名 ACCOUNT UNLOCK]:2.设置用户密码无限次尝试登录:3.设置用户密码不过期. or ...

  9. easyexcel 日期类型 convert_数据库的几种日期时间类型,你真的会用吗?

    日期和时间是每个系统,每个数据库设计必不可少的部分.也是容易被大家忽视的部分.很多开发者可能根本不了解以不同类型存储日期和时间意味着什么. 有朋友可能会说,数据库定义一个datetime或timest ...

最新文章

  1. 增长率高达40%!物联网平台如何拉动产业马车飞速狂奔
  2. php-函数小知识点
  3. 【转】 Android新特性介绍,ConstraintLayout完全解析
  4. 初等数论--原根--怎么判断a是不是模m的原根
  5. 频谱仪使用方法图解_钳形电流表使用方法图解
  6. Intel Realsense D435 关于开放环境下的目标识别 曝光量参数的自动设定机制
  7. Javascript权威指南学习笔记一:数据类型
  8. JavaScript学习笔记(四十四) 装饰器
  9. 登录id 黑苹果_黑苹果MacOSCatalina无法登录AppStore修复
  10. 机器学习速成课程 | 练习 | Google Development——编程练习:Pandas 简介
  11. centos6.8 安装php7
  12. 重大活动网络攻击面前,京东智联云的攻防之道
  13. 关于mpvue 切换页面数据没清空
  14. 实例开发:ASP.NET创建网络相册
  15. 黑苹果OC的血泪史之硬盘(三星固态1T)篇
  16. VC 消息钩子编程
  17. mysql preparedstatement 批量update_Statement和PreparedStatement批量更新
  18. 脑地形图用matlab怎么画,利用MATLAB绘制GTOPO30的DEM地形图
  19. Linux下cpu和绑核
  20. yolov5的backbone学习

热门文章

  1. 共指消解/指代消解/Coreference Resolution中概念/术语的总结
  2. Java安全编程规范总结
  3. 仅一个方法搞定Flutter Http Dio 请求
  4. 合唱团(2016网易编程题)
  5. 2021年危险化学品经营单位安全管理人员考试及危险化学品经营单位安全管理人员考试试卷
  6. 金仓数据库KingbaseES 归档日志清理
  7. Java语言对字节数组截取指定长度
  8. 五、药店的药品销售统计系统(排序应用)
  9. 大神带飞————动态生成对象并绑定父对象(绑定对象池中的对象使自己成为对象池中对象的子对象)
  10. [luogu 4168] [Violet]蒲公英 {离散化+分块}