约束(constraint)
--not null 非空
--unique 唯一
--primary key 主键
--foreign key 外键
--check 检查
非空约束只能建立在列上
--not null 非空
create table emp3( id number(10) constraint emp3_id_nn not null, name varchar2(20) not null, salary number(10,2) );
--unique 唯一
create table emp5( id number(10) constraint emp3_id_uk unique, name varchar2(20) constraint emp5_nn not null, email varchar2(20), salary number(10,2), --表级约束 constraint emp3_email_uk unique(email) );
--primary key 主键 自身也有非空性,唯一性
create table emp7( id number(10) constraint emp7_id_pk primary key, name varchar2(20) constraint emp7_nn not null, email varchar2(20), salary number(10,2), --表级约束 constraint emp7_email_uk unique(email) );
create table emp8( id number(10), name varchar2(20) constraint emp8_nn not null, email varchar2(20), salary number(10,2), --表级约束 constraint emp8_email_uk unique(email), constraint emp8_id_pk primary key(id) );
--foreign key 外键
create table emp9(
--列级约束 id number(10), name varchar2(20) constraint emp9_nn not null, email varchar2(20), salary number(10,2), department_id number(10), --表级约束 constraint emp9_email_uk unique(email), constraint emp9_id_pk primary key(id), constraint emp9_dept_id_fk foreign key(department_id) references departments(department_id) );
foreign key约束的 关键字:
--foreign key :在表级指定子表中的列
--referencrces :标示在父表中的列
-- on delete cascade(级联删除) :当父表中的列被删除时, 子表中对应的列也被删除
-- on delete set null(级联置空):当子表中相应的列置空
--check 检查
create table emp10( id number(10), name varchar2(20) constraint emp10_nn not null, email varchar2(20), salary number(10,2) check(salary>1500 and salary<30000), department_id number(10), --表级约束 constraint emp10_email_uk unique(email), constraint emp10_id_pk primary key(id), constraint emp10_dept_id_fk foreign key(department_id) references departments(department_id)on delete cascade );
使用alte table语句:
添加或删除约束,但不能修改约束 :
修改 -- alter table emp5 modify(salary number(10,2) not null);
删除 -- alter table emp5 drop constraint emp5_name_nn ;
添加 -- alter table emp5 add constraint emp5_uk unique(name) ;
有效化或无效化:
失效 -- alter table emp3 disable constraint emp3_email_uk ;
有效 -- alter table emp3 enable constraint emp3_email_uk ;
添加not null 约束要使用modify语句
原文地址:https://www.cnblogs.com/afangfang/p/12559161.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- XMU oj Problem List
- Python入门笔记(安装及初步使用)
- python 入门笔记[语法基础(上)]
- 怎样解决 JavaScript 生态中第三方安全性问题?
- 【Hadoop 分布式部署 十:配置HDFS 的HA、启动HA中的各个守护进程】
- 【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】
- Hive安装部署及简单测试 网页《一》
- Hive初步使用、安装MySQL 、Hive配置MetaStore、配置Hive日志《二》
- Python - lambda函数
- Oracle 基础学习笔记
- 算法【最大子序列问题】
- 【算法、递归回溯解决数独】
- Anaconda使用命令
- 最大连续子数组
- markdown编辑器实现代码高亮