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

08Oracle Database 完整性约束的更多相关文章

  1. python全栈开发day54-mysql库操作、表操作、数据类型、完整性约束

    一.昨日内容回顾 1.mysql的安装 1).解压文件 添加环境变量bin 2).初始化mysql生成数据data文件夹: mysqld --initialize-insecure 3).mysqld ...

  2. PowerDesigner 参照完整性约束(转载)

    PowerDesigner 参照完整性约束: 限制(Restrict):不允许进行修改或删除操作.若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示.这是缺省的参照完整性设置. 置 ...

  3. python 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整性约束)

    昨日内容回顾 一.回顾 定义:mysql就是一个基于socket编写的C / S架构的软件 包含: ---服务端软件 - socket服务端 - 本地文件操作 - 解析指令(mysql语句) ---客 ...

  4. mysql三-3:完整性约束

    一.完整性约束介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIG ...

  5. 数据库基本表创建 完整性约束 foreign Key

    理解以下几张表的内容,根据实际情况设计属性名.数据类型.及各种完整性约束(primary key.foreign key.not null.unique.check),用数据定义语言实现,然后设计实验 ...

  6. 数据库管理员(Database Administrator,简称DBA)基本知识:

    数据库管理员(Database Administrator,简称DBA)基本知识: 一.数据库基础 1. 数据抽象:物理抽象.概念抽象.视图级抽象,内模式.模式.外模式 2. SQL语言包括数据定义. ...

  7. mysql对库,表,数据类型的操作以及完整性约束

    一丶对库的操作 求救语法: help create database; 1.创建数据库 CREATE DATABASE 数据库名 charset utf8; 2.数据库的命名规则: 可以由字母.数字. ...

  8. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  9. 16Oracle Database 系统权限和对象权限

    Oracle Database 系统权限和对象权限 Oracle中的系统权限和对象权限 DCL 数据控制语言 -- 查看对象的权限 grant / revoke 查看登录用户 Show user 查看 ...

随机推荐

  1. Linux进程间通信 共享内存+信号量+简单样例

    每个进程都有着自己独立的地址空间,比方程序之前申请了一块内存.当调用fork函数之后.父进程和子进程所使用的是不同的内存. 因此进程间的通信,不像线程间通信那么简单.可是共享内存编程接口能够让一个进程 ...

  2. iOS UITableViewCell 几个方法的优先级

    #第一组   - (void)setDataDict:(NSDictionary *)dataDict;这种方法优先运行 - (id)initWithStyle:(UITableViewCellSty ...

  3. Android Jni层 创建 linux socket 出错问题解决

    问题: 想在Jni层创建 udp socket 与服务端通信,可是没有成功.最后发现居然是创建socket失败(代码例如以下) // create socket g_sd = socket(AF_IN ...

  4. [翻译角]Headline English: A Captain Should Be Pitch Perfect at a Multitude of Skills (ESLPOD Blog)

    以下转自www.eslpod.com,翻译为本人添加.其余版权均归原网站所有. ESLPOD是一个英语学习网站,我最初知道这个网站,是因为“奶爸”<把你的英语用起来>(电子版3元)一书的推 ...

  5. 实现一个简易的express中间件

    代码: // 通过闭包实现单例 const Middlewave = (function(){ let instance; class Middlewave{ constructor() { this ...

  6. 蓝桥 ADV-233 算法提高 队列操作 【STL】

      算法提高 队列操作   时间限制:1.0s   内存限制:256.0MB      问题描述 队列操作题.根据输入的操作命令,操作队列(1)入队.(2)出队并输出.(3)计算队中元素个数并输出. ...

  7. (十七)LU分解

    #encoding=utf-8 import numpy as np # 输入数据 # a用来记录x的系数 a=[[2.0,2.0,3.0],[4.0,7.0,7.0],[-2.0,4.0,5.0]] ...

  8. JLabel作为展现元素时需要注意的事项

    如果没有内容,JLabel默认透明就无法作为点击区域了,所以为了让其可以响应鼠标事件需要设置 setOpaque(true) 这样就可以响应鼠标事件了 (吐槽一下,多年以前在大学做个web地图导航的网 ...

  9. YTU 2639: 改错题:类中私有成员的访问

    2639: 改错题:类中私有成员的访问 时间限制: 1 Sec  内存限制: 128 MB 提交: 431  解决: 297 题目描述 /* 改错题: 设计一个日期类和时间类,并编写全局函数displ ...

  10. BZOJ_4800_[Ceoi2015]Ice Hockey World Championship_双指针

    BZOJ_4800_[Ceoi2015]Ice Hockey World Championship_双指针 Description 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. Inpu ...