您的位置:首页 > 数据库 > Oracle

Oracle之SQL基础--约束

2015-12-09 12:46 543 查看
约束

数据字典 user_constraints

禁用/启用约束
alter table table_name disable/enable constraint constraint_name;

删除约束
alter table table_name drop constraint constraint_name;

更改约束的名称
alter table table_name rename constraint old_name to new_name;

1、非空约束
创建表时设置非空约束
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;

2、主键约束
创建表时设置主键约束
create table table_name(
column_name datatype primary key,
...
);

(表级约束)
create table table_name(
column_name datatype,
...,
constraint constraint_name primary key(
column_name1,
...
)
);

查看主键约束(用数据字典) user_constraints
select constraint_name from user_constraints where table_name='...';

修改表时添加主键约束
alter table table_name add constraint constraint_name primary key(
column_name1,
...
);

删除主键约束
alter table table_name drop primary key;

3、外键约束
创建表时设置外键约束和级联删除
create/alter table table_name(
column_name datatype primary key,
column_name1 datatype,
constraint constraint_name foreign key(column_name1) 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]

4、唯一约束
创建表时添加唯一约束
字段后加上 unique  (列级)

表后加上 constraint constraint_name unique(column_name)(表级)

修改表时添加唯一约束
alter table table_name add constraint constraint_name unique(column_name,...)

5、检查约束(数据验证)
创建表时添加检查约束
字段后加上 check(expressions)  (列级)

表后加上 constraint constraint_name check(expressions)(表级)

修改表时添加检查约束
alter table table_name add constraint constraint_name check(expressions)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle sql 数据