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)
数据字典 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)
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- 我是运营,我没有假期
- Oracle 10g R2不能使用EM的问题
- SQL Server 语句操纵数据库
- 表空间操作
- PreparedStatement中in子句的处理
- SQL(结构化查询语句)
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法