Oracle Database 完整性约束


非空约束

创建表时

Create table table_name(

Column_name datatype NOT NULL,…

);

修改表时

Alter table table_name modify column_name datatype not null;

删除约束

Alter table table_name modify column_name datatype null;

主键约束

创建表时

Create table table_name(

Column_name datatype PRIMARY KEY,…

);

创建表时

Create table table_name(

Column_name datatype ,…,

CONSTRAINT constraint_name PRIMARY KEY(column_name1,…)

);

Desc user_constraints;查看约束数据字典

在修改表时添加

Alter table table_name

Add constraint constraint_name primary key(column_name1,…);

更新主键名字

Alter table table_name

Rename constraint old_name to new _name;

禁用主键约束

Alter table table_name

Disable|enable constraint constraint_name

删除主键约束

Alter table table_name

Drop constraint constraint_name

Drop primary key[cascade]

在创建表时设置外键约束

Create table table1(

Column_name datatype REFERENCES table2(column_name),..)

Constraint constraint_name foreign key(column_name)

References

Table_name(column_name) [on delete cascade]

在修改表时添加外键约束

Alter table table_name

Add Constraint constraint_name foreign key(column_name)

References

Table_name(column_name) [on delete cascade]

禁用外键约束

Alter table table_name

Disable|enable constraint constraint_name

删除外键约束

Alter table table_name

Drop constraint constraint_name

在创建表时设置唯一约束

Create table table_name(column_name datatype UNIQUE,..)

Constraint constraint_name UNIQUE(column_name)

在修改表时添加唯一约束

Alter table table_name

Add Constraint constraint_name UNIQUE (column_name)

删除唯一约束

禁用唯一约束

Alter table table_name

Disable|enable constraint constraint_name

删除外键约束

Alter table table_name

Drop constraint constraint_name

在创建表时设置检查约束

Create table table_name(column_name datatype CHECK(expressions),..)

Constraint constraint_name CHECK(expressions)

在修改表时添加检查约束

Alter table table_name add constraint constraint_name check(expressions);

启用禁用检查约束

Select constraint_name,constraint_type,status from user_constraints where table_name=’table_name’;

Enable|disable constraint constraint_name

删除检查约束

Alter table table_name drop constraint constraint_name;

更改约束的名称

数据字典(user_constrains)

Alter table table_name

RENAME CONSTRAINT old_name TO new_name;

约束

主键约束 用来唯一表示一条数据的字段,其值不能重复,不能为null

create table test

(

nationality varchar2(20),

city varchar(20),

constraint nick_pk primary key(nationality,city)

);

外键约束 引用其他表的主键到本表,在本表中叫外键,用来做表关系

create table test

(

nationality varchar2(20),

city varchar(20),

constraint nick_fk foreign key(nationality) references

tab_name(nationality)

);

非空约束

create table test

(

nationality varchar2(20) not null,

);

唯一约束

create table test

(

nationality varchar2(20) ,

constraint nick_uk unique(nationality)

);

检查约束

create table test1

(

nationality varchar2(20) ,

constraint nick_ck check(nationality <> '美国')

);

默认值

default

设定约束条件无效

disable|enable constraint_name

级联删除<级联更新要使用触发器>

references … ON DELETE CASCADE

转载于:https://www.cnblogs.com/Aha-Best/p/10858802.html

08Oracle Database 完整性约束相关推荐

  1. 软件工程 学习笔记 知识梳理

    Chapter 1 绪论 软件开发知识体系 项目管理开发: 软件工程 软件逻辑设计: 数据结构与算法 程序编程编译: 编译原理 软件运行环境: 操作系统/数据库 软件开发过程 问题理解 算法设计 数据 ...

  2. Go 语言编程 — gorm 的数据完整性约束

    目录 文章目录 目录 前言 实体完整性(主键约束) 用户定义完整性(非空约束.唯一约束.检查约束和默认值) 参照完整性(外键约束) 关联关系 一对一.一对多关联 多对多关联 示例 前言 本文基于 Po ...

  3. oracle12c如何存档图片,Oracle Database 12c实用教程

    第1章 数据库技术基础 1 1.1 数据库基本概念 1 1.2 数据模型 3 1.2.1概念模型 3 1.2.2结构模型 5 1.3 数据库的设计步骤 9 1.4 习题 10 第2章 Oracle D ...

  4. 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)

    Table of Contents 关系型数据库(Relational Database) 什么是关系数据库 什么是SQL? 关系数据库的结构 关系模型 关系数据库的好处 数据一致性 隔离性和原子性 ...

  5. 列的完整性约束——设置表字段值自动增加(AUTO_INCREMENT)

    系列文章目录 列的完整性约束 文章目录 系列文章目录 前言 一.语句格式 二.实际应用 总结 前言 AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值 ...

  6. 【数据库】数据库管理系统(Database Management Systems)

    数据库管理系统(Database Management Systems) 数据库管理系统是一种操纵和管理数据库的大型软件,用于建立.使用和维护数据库,简称 DBMS.它对数据库进行统一的管理和控制,以 ...

  7. 【Database】数据库常见面试题【转】

    数据库基础(面试常见题) 一.数据库基础 1. 数据抽象:物理抽象.概念抽象.视图级抽象,内模式.模式.外模式 2. SQL语言包括数据定义.数据操纵(Data Manipulation),数据控制( ...

  8. DataBase习题

    第一章:绪论 1.2.1 1 [单选题] _______是存储在计算机内有结构的数据的集合. (5.0分) A. 数据结构Data Structure B. 数据库Database C. 数据库管理系 ...

  9. 诊断和响应故障_执行闪回和数据库时间点恢复(Flashback and Database Point-in-Time Recovery)

    本章阐述如何调查不想要的数据库更改,基于Oracle闪回技术和数据库备份选择和执行适合的恢复策略. 1.Oracle闪回技术和数据库时间点恢复概述 本概述描述Oracle闪回技术和数据库时间点恢复的目 ...

  10. 数据库(DataBase,DB):关系型数据库 和 非关系型数据库

    1.数据库(DataBase,DB) 数据库(DataBase,DB):指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合,还是以文件的方式存在服务器的电 ...

最新文章

  1. HTML5视频的使用总结
  2. 从spring-session存储结构探讨session存储方案的演变
  3. 详解Xcode 4发布程序图文并茂教程
  4. r与python自然语言处理_Python自然语言处理实践: 在NLTK中使用斯坦福中文分词器 | 我爱自然语言处理...
  5. shell脚本的一些用法笔记
  6. SpringSecurity Filter
  7. 20200727:力扣第31周双周赛题解
  8. oracle范围分区表,Oracle表分区之范围分区-Oracle
  9. leetcode [26] 删除排序数组中的重复项 / Remove Duplicates from Sorted Array
  10. 普通类创建获取session 方式_博物馆类建筑的空调与通风工程设计(附图纸参考,要图的看文本获取方式)...
  11. 利用BLAST进行序列比对和寻找同源基因
  12. js实现addClass、removeClass方法
  13. SOAP实例入门(转)
  14. 小满网络模型http1-http2 浏览器缓存
  15. opencv-python将两个文件夹下的照片拼接一起,然后保存
  16. linux ps-e和-ax区别,Linux编程 6 (查看进程 ps 及输出风格)
  17. E. Exits in Excess
  18. 【遗传算法GA】入门:基本介绍
  19. 洛谷 P5664 Emiya 家今天的饭【dp】
  20. 制作U-Boot的SD启动卡

热门文章

  1. 华擎 j3455 时钟 linux,经验 篇一:华擎J3455 硬改MAC地址
  2. 请求的资源不可用html,“HTTP状态404请求的资源不可用”
  3. 图档生成bin文件_「嵌入式笔记」hex文件、bin文件、axf文件的区别?
  4. android ndk opencv 3,opencv_and_opencv_contrib
  5. pandas 日期比较大小_计算pandas Dataframe中的日期时间差异
  6. layui按钮展开、_layui监听工具栏(操作列表按钮)
  7. Text Particle Systems
  8. linux入门和简单应用举例
  9. uva 10474 - Where is the Marble?
  10. 读书笔记-----Oracle字符处理函数列表