oracle之约束解析
来源:互联网 发布:php 检验日期格式 编辑:程序博客网 时间:2024/05/16 15:56
oracle的约束主要作用是进行表面数据校验,保证数据的完整性。
主要有以下五类约束:
not null (非空)
unique(唯一键)
primary key (主键)
foreign key (外键)
check (检查)
注意:约束可以用在表级或列级
1.建表的时候就建立约束
主键约束(primary key):非空,唯一
create table mytest( id number(11) primary key,--指明主键约束 name varchar2(10), age number(3));<pre name="code" class="sql">create table mytest( id number(11) primary key, name varchar2(10), age number(3), constraint my_id primary key(id)--指明主键约束 );<pre name="code" class="sql"><pre name="code" class="sql">create table mytest( id number(11) primary key, name varchar2(10), age number(3), constraint my_id primary key(id,name)--创建联合主键 );
非空约束(not null):指定字段不能插入空值,只能用于字段级定义
create table mytest( id number(11) primary key,--指明主键约束 name varchar2(10) not null,--非空约束,不能插入非空数据 age number(3));
唯一约束(unique):
唯一约束用于保证数据不重复;
唯一约束可以为空;
唯一约束创建唯一索引;
唯一约束可以在表级,也可以在字段级;
create table mytest1( id number(11) unique,--创建唯一约束 name varchar2(10) not null, age number(3));create table mytest2( id number(11), name varchar2(10) not null, age number(3), constraint my_id unique(id)--创建唯一约束 );外键约束(foreign key):
明确指明两表之间字段的关联参考关系;
外键参考的字段必须为另一个表的主键,或唯一键;
create table empinfo( eid number(3) primary key, ename varchar2(20), job varchar2(20), birth date);create table salary( eid number(3), basic_salary number(8,2), job_allowance number(8,2), travelling_allowance number(8,2), personal_income_tax number(8,2), constraint salary_eid_fk foreign key(eid) references empinfo(eid));
检查约束(check):
字段级定义;每次插入值时必须满足检查表达式;
create table mytest( id number(3) primary key, name varchar2(20), age number(3) check(age >0 and age <=130)--检查约束,年龄大于0小于等于130);
2.建表后添加约束
以上讨论的是建表的时候就把约束添加完成,但是,有时我们想修改,变动约束,就需要在建立后做手脚。
create table mytest( id number(3), name varchar2(20), age number(3));--添加约束alter table mytest add constraint my_pk_id primary key(id);--禁用约束alter table mytest disable constraint my_pk_id;--启用约束alter table mytest enable constraint my_pk_id;--删除约束alter table mytest drop constraint my_pk_id;--修改约束alter table mytest modify name varchar2(20) not null;
0 0
- oracle之约束解析
- Oracle之表约束
- oracle之约束
- oracle之约束
- oracle之约束
- oracle之约束
- Oracle之约束
- oracle之约束
- 【转】oracle之约束
- oracle之约束
- oracle之约束
- oracle之约束
- Oracle之约束总结
- Oracle之约束
- 【Oracle学习】之 约束
- Oracle数据库之约束
- oracle数据库之约束
- oracle之约束
- Android 5.0/5.1 HOOK技术探究
- 深入理解JVM
- hdoj 2080 夹角有多大II
- am335x嵌入式开发-bootloader启动流程
- Microsoft(R) Developer Studio 已停止工作 解决办法(1)
- oracle之约束解析
- 【机房合作】单例模式实战
- Java特性学习
- YII config main.php
- oracle之索引分析
- Ubuntu14.04 32 编译VLC2.2.1 错误
- An App ID with Identifier is not available. Please enter a different string
- Educational Codeforces Round 8(D. Magic Numbers(数位DP))
- PHP知识点——1