08Oracle Database 完整性约束
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 完整性约束相关推荐
- 软件工程 学习笔记 知识梳理
Chapter 1 绪论 软件开发知识体系 项目管理开发: 软件工程 软件逻辑设计: 数据结构与算法 程序编程编译: 编译原理 软件运行环境: 操作系统/数据库 软件开发过程 问题理解 算法设计 数据 ...
- Go 语言编程 — gorm 的数据完整性约束
目录 文章目录 目录 前言 实体完整性(主键约束) 用户定义完整性(非空约束.唯一约束.检查约束和默认值) 参照完整性(外键约束) 关联关系 一对一.一对多关联 多对多关联 示例 前言 本文基于 Po ...
- 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 ...
- 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)
Table of Contents 关系型数据库(Relational Database) 什么是关系数据库 什么是SQL? 关系数据库的结构 关系模型 关系数据库的好处 数据一致性 隔离性和原子性 ...
- 列的完整性约束——设置表字段值自动增加(AUTO_INCREMENT)
系列文章目录 列的完整性约束 文章目录 系列文章目录 前言 一.语句格式 二.实际应用 总结 前言 AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值 ...
- 【数据库】数据库管理系统(Database Management Systems)
数据库管理系统(Database Management Systems) 数据库管理系统是一种操纵和管理数据库的大型软件,用于建立.使用和维护数据库,简称 DBMS.它对数据库进行统一的管理和控制,以 ...
- 【Database】数据库常见面试题【转】
数据库基础(面试常见题) 一.数据库基础 1. 数据抽象:物理抽象.概念抽象.视图级抽象,内模式.模式.外模式 2. SQL语言包括数据定义.数据操纵(Data Manipulation),数据控制( ...
- DataBase习题
第一章:绪论 1.2.1 1 [单选题] _______是存储在计算机内有结构的数据的集合. (5.0分) A. 数据结构Data Structure B. 数据库Database C. 数据库管理系 ...
- 诊断和响应故障_执行闪回和数据库时间点恢复(Flashback and Database Point-in-Time Recovery)
本章阐述如何调查不想要的数据库更改,基于Oracle闪回技术和数据库备份选择和执行适合的恢复策略. 1.Oracle闪回技术和数据库时间点恢复概述 本概述描述Oracle闪回技术和数据库时间点恢复的目 ...
- 数据库(DataBase,DB):关系型数据库 和 非关系型数据库
1.数据库(DataBase,DB) 数据库(DataBase,DB):指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合,还是以文件的方式存在服务器的电 ...
最新文章
- HTML5视频的使用总结
- 从spring-session存储结构探讨session存储方案的演变
- 详解Xcode 4发布程序图文并茂教程
- r与python自然语言处理_Python自然语言处理实践: 在NLTK中使用斯坦福中文分词器 | 我爱自然语言处理...
- shell脚本的一些用法笔记
- SpringSecurity Filter
- 20200727:力扣第31周双周赛题解
- oracle范围分区表,Oracle表分区之范围分区-Oracle
- leetcode [26] 删除排序数组中的重复项 / Remove Duplicates from Sorted Array
- 普通类创建获取session 方式_博物馆类建筑的空调与通风工程设计(附图纸参考,要图的看文本获取方式)...
- 利用BLAST进行序列比对和寻找同源基因
- js实现addClass、removeClass方法
- SOAP实例入门(转)
- 小满网络模型http1-http2 浏览器缓存
- opencv-python将两个文件夹下的照片拼接一起,然后保存
- linux ps-e和-ax区别,Linux编程 6 (查看进程 ps 及输出风格)
- E. Exits in Excess
- 【遗传算法GA】入门:基本介绍
- 洛谷 P5664 Emiya 家今天的饭【dp】
- 制作U-Boot的SD启动卡
热门文章
- 华擎 j3455 时钟 linux,经验 篇一:华擎J3455 硬改MAC地址
- 请求的资源不可用html,“HTTP状态404请求的资源不可用”
- 图档生成bin文件_「嵌入式笔记」hex文件、bin文件、axf文件的区别?
- android ndk opencv 3,opencv_and_opencv_contrib
- pandas 日期比较大小_计算pandas Dataframe中的日期时间差异
- layui按钮展开、_layui监听工具栏(操作列表按钮)
- Text Particle Systems
- linux入门和简单应用举例
- uva 10474 - Where is the Marble?
- 读书笔记-----Oracle字符处理函数列表