约束用于确保数据库数满足业务规则。
约束包括:NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY以及CHECK等5种类型。
建立主键约束和唯一约束时,Oralce会基于约束列自动建立唯一索引;主键约束不允许为NULL,唯一约束允许为NULL。
一张表只能建立一个主键约束。
建表约束:NOT NULL只能在列级定义;其它4种既可以在列级定义,也可以在表级定义。复合主键约束只能在表级定义。
维护约束:增加NOT NULL约束时必须使用MODIFY子句,而增加其它约束时需要使用ADD子句。
第一, 定义约束
---------------------------------------------
语法:
CREATE TABLE [SCHEMA.]table_name(
column_name datatype [DEFAULT expr] [column_constraint],
...
[table_constraint][, ...]
);
例子:
CREATE TABLE tt_user_info
(
ID VARCHAR2(20 BYTE),
NAME VARCHAR2(20 BYTE) NOT NULL,
category_id VARCHAR2(20 BYTE) REFERENCES tb_out_service(serviceid),
remark VARCHAR2(1000)
);
ALTER TABLE tt_user_info ADD (
CHECK ( LENGTH(NAME)>2),
PRIMARY KEY (ID),
UNIQUE (NAME)
);
说明:
1. NOT NULL,非空约束
not null
2. UNIQUE,唯一约束
UNIQUE (COL_NAME)
3. PRIMARY KEY,主键约束
primary key (col_name1 [, col_name2])
4. FOREIGN KEY,外键约束
它有三种类型:
references primary_table(primary_col)
on delete cascade
on delete set null
5. CHECK,检查约束
check (money > 1000)
第二, 维护约束
----------------------------------------
1. 增加约束
NOT NULL使用ALTER MODIFY子句,其它的使用ALTER ADD子句
-------------------------------
CREATE TABLE tt_user(NAME VARCHAR2(20));
ALTER TABLE tt_user MODIFY user_name NOT NULL;
ALTER TABLE tt_user ADD CONSTRAINT constraint_name UNIQUE(NAME);
ALTER TABLE tt_user ADD CONSTRAINT constraint_name PRIMARY KEY(NAME);
ALTER TABLE tt_user ADD parentid VARCHAR2(20)
CONSTRAINT constraint_name
REFERENCES tb_out_service(serviceid);
2. 修改约束名
ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name TO new_constraint_name
3. 删除约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name
4. 禁止约束
ALTER TABLE table_name DISABLE CONSTRAINT constraint_name [CASCADE];
5.激动约束
ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
第三. 显示约束信息
所有约束信息
SELECT *
FROM user_constraints
用户约束所对应的表列
SELECT *
FROM user_cons_columns;
相关推荐
数据库的完整性约束数据库的完整性约束数据库的完整性约束数据库的完整性约束数据库的完整性约束数据库的完整性约束
达梦数据库
完整性约束条件作用的对象可以是关系、元组、列三种。其中列约束主要是列的类型、取值范围、精度、排序等约束条件。元组的约束是元组中各个字段间的联系的约束。关系的约束是若干元组间、关系集合上以及关系之间的...
达梦数据库
数据库应用软件:第5章 数据库完整性约束.ppt
数据库+约束的介绍分析.ppt, 介绍很清楚。。
内包含外键约束模式,数据库的视图基本操作
本文档是数据库的外键约束方式指南 需要的朋友请下载 保证可用
对数据库约束的介绍, 写的很清楚。。。。。。。。。。。。。内部资料
是数据库在创建表的时候的一些常见约束,主要是主键与外键的语法规则
数据库:函数 约束 的简单介绍
ORACLE数据库完整性约束浅析.pdf
oracle 数据库约束笔记oracle 数据库约束笔记
mysql数据库字段约束
掌握SQL中实现数据完整性的方法,加深理解关系数据模型的三类完整性约束
完整性约束对数据库的重要性; 实体完整性的创建、修改和维护; 域完整性的创建、修改和维护; 参照完整性的创建、修改和维护; 用户定义完整性的创建、修改和维护。
基于Oracle的数据库完整性约束分析.pdf
数据库面试题 oracle笔试 oracle例题
Oracle数据库的完整性约束规则详解.DOC
为SQL数据库表格建立约束的方法,很详细的Word文档