约束条件有5种

  • 非空约束(not null):约束该列一定要输入值
  • 主关键字约束(primary key):用来唯一标示表中的一个列,一个表中的主键约束只能有一个

  • 外关键字约束(foreign key):用来约束两个表中列之间的关系

  • 唯一约束(unique):用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束
  • 检查约束(check):用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列

创建检查约束条件

1.创建表时直接创建检查约束

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.在现有的表中添加检查约束

alter table BOOKINFO add CONSTRAINT    CK_PRICE    CHECK(PRICE>=10 AND PRICE <= 100)

创建非空约束

1.创建表时直接创建非空约束

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)
);
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.在现有的表中添加非空约束

alter table BOOKINFO add CONSTRAINT    CK_PRICE    CHECK(BOOKID IS NOT NULL)

创建唯一约束

关键字UNIQUE

创建方法与主键相似

主键与外键的创建与关联

http://www.cnblogs.com/lm970585581/p/7076084.html

删除约束

alter table test
drop constraint 约束名;

oracle约束条件的更多相关文章

  1. oracle约束条件状态

    Oracle完整性约束有一下4种: • DISABLE NOVALIDATE • ENABLE NOVALIDATE • DISABLE VALIDATE • ENABLE VALIDATE   •  ...

  2. 增加 修改oracle约束条件

    ALTER TABLE    TB_ZJGL_DWSB_GRMX ADD CONSTRAINT SFZH_UNIQUE UNIQUE(SFZH);    ALTER TABLE TB_ZJGL_DWS ...

  3. orace学习操作(2)

    一.Oracle视图 视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑.主要就是为了方便和数据安全: 实际当中的数据依然存在我们的实际表里面,只不过取数据的时候根据这个视图(子查询)从实际 ...

  4. oracle违反完整约束条件

    oracle违反完整约束条件 Oracle ORA-02292: 违反完整约束条件 (UNITELE.TA_SUB_REFERENCE3) - 已找到子记录 A表被B表引用,删除A表的时候提示ORA- ...

  5. 查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)

    0.表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user ...

  6. ORACLE之莫名---ORA-02290: 违反检查约束条件

    最近碰到一个十分棘手的问题,Java程序插入空数据到oracle时报ORA-02290: 违反检查约束条件(XXXX.×××××),这明显是在设置不可为空的字段上插入为空内容导致,但是检查数据库表后发 ...

  7. oracle ORA-02292: 违反完整约束条件

    我是处于工作中没用过oracle的状态,这不,记录下这个小小的问题.哈哈. 表是公司的平台组定义的.前几天为了测试程序,想删掉一些记录,然后使用delete语句,出现这个东东:oracle ORA-0 ...

  8. oracle数据库名称已被一现有约束条件占用

    使用oracle数据库出现名称已被一现有约束条件占用的错误,我的原因是在同一个库中有一个表使用了外键FK_SNO,自己新建的一个表中也使用了外键FK_SNO,导致出现了错误. 这时改变一下外键FK_S ...

  9. Oracle创建表、修改表、删除表、约束条件语法

    一. 使用create关键字创建表 --(1)创建新表use 数据库(在那个数据库中建表)create table 表名(字段名1(列名) 数据类型 列的特征,字段名2(列名) 数据类型 列的特征(N ...

随机推荐

  1. Java分享笔记:Java网络编程--TCP程序设计

    [1] TCP编程的主要步骤 客户端(client): 1.创建Socket对象,构造方法的形参列表中需要InetAddress类对象和int型值,用来指明对方的IP地址和端口号. 2.通过Socke ...

  2. ABAP术语-Lock Mode

    Lock Mode 原文:http://www.cnblogs.com/qiangsheng/archive/2008/02/29/1085732.html Status that determine ...

  3. Python核心框架tornado的异步协程的2种方式

    什么是异步? 含义 :双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位 现象:没有共同的时钟,不考虑顺序来了 ...

  4. Python 一些好玩的函数

    一.匿名函数 什么匿名是函数: 不需要使用def函数名的函数或者子程序 函数语法: lambda 参数:表达式 函数特点: 1.lambda只是一个表达式,省去定义函数过程,让代码更精简 2.lamb ...

  5. mongodb的高级查询

    db的帮助文档 输入:db.help(); db.AddUser(username,password[, readOnly=false])  添加用户 db.auth(usrename,passwor ...

  6. Java源码解析——集合框架(三)——Vector

    Vector源码解析 首先说一下Vector和ArrayList的区别: (1) Vector的所有方法都是有synchronized关键字的,即每一个方法都是同步的,所以在使用起来效率会非常低,但是 ...

  7. [转]Centos7 内核从3.10升级到4.12过程

    [原文地址] http://blog.csdn.net/youshijifen/article/details/73472434 [摘要] 近期,国家互联网应急中心漏洞(CNCERT)公告中提到Lin ...

  8. python集合、函数实例

    集合 1.list ==>允许重复的集合,可修改 2.tuple ==>允许重复的集合,不可修改 3.dict ==> 4.set ==>不允许重复的集合,相当于不可重复的列表 ...

  9. idea添加源代码目录,编译代码出现时钟样式

    项目结构需要有一个target目录,需要一个src目录,

  10. 【转】iOS库 .a与.framework区别

    转自:http://blog.csdn.net/lvxiangan/article/details/43115131 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态 ...