Oracle学习笔记(八) 约束
来源:互联网 发布:mac谷歌应用商店打不开 编辑:程序博客网 时间:2024/06/09 23:03
约束的作用
定义规则
确保数据完整性
非空约束
在创建表的时候设置
CREATE TABLE table_name(
column_name datatype NOT NULL,...
)
修改表的时候设置
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
删除非空约束
ALTER TABLE table_name MODIFY couumn_name datatype NULL;
主键约束
确保表中每一行数据的唯一性,非空,唯一,智能设计一个主键约束,但是可以是多列
在创建表时设置:
CREATE TABLE table_name(
column_name datatype PROMARY KEY,
)
实例联合主键
create table userinfo (
id number(6,0),
username varchar2(20)
constraint pk_Id_username primary key(id,username)
);
修改表时添加:
ALTER TABLE tatble_name
ADD CONSTRAINT constraint_name PRIMARY KEY(column_name1,....);
删除主键约束
第一种
DISABLE|ENABLE CONSTRAINT constraint_name
第二种
ALTER TABLE table_name
DROP CONSTAINT constraint_name
第三种
DROP PRIMARY KEY[CASCADE]
可选为级联删除,可以删除有关的外键信息
外键约束
两个表中的列关联
创建表的时候设置:
列级设置:
CREATE TABLE table1
(column_name datetype REFERENCES table2(column_name),....);
主表为table2字段必须是主键字段,同一个类型 table1为从表
CONSTRAINT constraint_name FOREIGN KEY(column_name_ REFERENCES table_name(column_name) [ON DELETE CASCADE]
级联删除为可选项,如果主表中的数据被删除了设置了级联之后,如果主表数据被删除,在从表中使用到该数据的数据会跟着被删除,保证数据的完整。
修改表的时候添加设置:
ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]
删除外键约束
禁用:
DISABLE|ENABLE CONSTRAINT constraint_name;
删除:
DROP CONSTRAINT constraint_name;
唯一约束
保证值的唯一性。唯一约束可以有空值。唯一约束可以有多个。
创建表的时候设置唯一约束:
CREATE TABLE table_name(
column_name datetype UIQUE);
表级设置
CONSTRAINT constraint_name
UNIQUE(column_name);
多个要多个字句,不能用逗号分割。
修改表的时候设置唯一约束:
ADD CONSTRAINT constraint_name UNIQUE(column_name);
删除唯一约束:
禁用:
DISABLE|ENABLE CONSTRAINT constraint_name;
删除:
DROP CONSTRAINT constraint_name;
检查约束
作用,表中的值更具有实际的意义。
CREATE TABLE table_name(
column_name datatype CHECK(expressions),....);
expressions为表达式,比如:列名>0
表级创建:
CONSTRAINT constraint_name CHECK(expression);
修改表的时候添加
ADD CONSTRAINT constraint_name
CHECK(expressions);
删除检查约束
禁用:
DISABLE|ENABLE CONSTRAINT constraint_name;
删除:
DROP CONSTRAINT constraint_name;
数据字典查看约束:
user_constraints
- Oracle学习笔记(八) 约束
- Oracle学习笔记(10)----------- 约束
- Oracle学习笔记(10)----------- 约束
- Oracle学习笔记(八)
- Oracle 学习笔记 10 -- 约束
- Oracle 学习笔记 10 -- 约束
- oracle笔记(约束)
- Oracle基础(八):约束、索引、序列
- Oracle学习笔记八:安全管理
- oracle学习笔记(二)---约束、授予系统权限、索引
- Oracle学习笔记(4)——约束
- Oracle 11g学习笔记--约束(constraint )的使用
- Oracle学习笔记(八)——java操作Oracle
- Oracle笔记(十) 约束
- Oracle笔记(十) 约束
- Oracle笔记(十) 约束
- Oracle笔记(十) 约束
- ORACLE学习笔记 索引和约束
- c++ stl 分析
- 图像算法
- RxJS常用操作符
- 最大公约数与最小公倍数
- 我的座右铭
- Oracle学习笔记(八) 约束
- day04作业
- 在C语言算法中的前置++与后置++
- JavaEE 获取路径
- YOLO: Real-Time Object Detection
- [ 转]放弃MATLAB!简述winpython为什么比MATLAB更方便
- hibernate--CoreAPI_Session
- R入门-001
- python中excel基本操作实例