数据库之约束浅析
2015-09-21 21:32
337 查看
--约束
create table emp3(
--列级约束,not null 只能定义在列级上
id number(10) constraint emp3_id_uk unique,
name varchar2(20) constraint emp3_name_nn not null,
email varchar2(20),
salary number(10,2),
--表级约束
constraint emp3_email_uk unique(email)
)
--约束:主键非空且唯一
create table emp4(
id number(10) constraint emp4_id_pk primary key,--列级约束
name varchar2(20) constraint emp4_name_nn not null,
email varchar2(20),
salary number(10,2),
--表级约束
constraint emp4_email_uk unique(email)
)
--约束:外键
create table emp6(
--列级约束
id number(10) constraint emp6_id_pk primary key,
name varchar2(20) constraint emp6_name_nn not null,
email varchar2(20),
salary number(10,2),
department_id number(10),
--表级约束
constraint emp6_email_uk unique(email),
constraint emp6_dep_id_fk foreign key(department_id) references departments(department_id)
)
--约束:级联删除,级联置空
create table emp7(
--列级约束
id number(10) constraint emp7_id_pk primary key,
name varchar2(20) constraint emp7_name_nn not null,
email varchar2(20),
salary number(10,2),
department_id number(10),
--表级约束
constraint emp7_email_uk unique(email),
constraint emp7_dep_id_fk foreign key(department_id) references departments(department_id) on delete set null
--或者是 constraint emp6_dep_id_fk foreign key(department_id) references on delete cascade
)
--约束:check
create table emp8(
--列级约束
id number(10) constraint emp8_id_pk primary key,
name varchar2(20) constraint emp8_name_nn not null,
email varchar2(20),
salary number(10,2) check(salary > 2000 and salary < 30000),--限定salary范围
department_id number(10),
--表级约束
constraint emp8_email_uk unique(email),
constraint emp8_dep_id_fk foreign key(department_id) references departments(department_id) on delete set null
--或者是 constraint emp6_dep_id_fk foreign key(department_id) references on delete cascade
)
--删除约束,
alter table emp8
drop constraint emp8_salary_nn --删除emp8表中约束名为emp8_salary_nn 的约束
相关文章推荐
- 数据库之序列浅析
- 数据库之索引浅析
- MongoDB(索引)
- 数据库之视图浅析
- 巨杉数据库创始人兼CTO王涛:SequoiaDB为何要开源?
- 数据库之用户权限管理
- oracle自动生成数字列表
- 数据库的三大范式
- 【转】django的ORM操作数据库样例
- ADRCI
- 附加数据库失败5120
- 数据库概论学习笔记------数据的完整性约束
- Tomcat7+Redis存储Session(转)
- Oracle数据库优化的几个有用思路
- Mybatis如何SQL声明表名称参数
- 数据库的事务处理
- web服务器和数据库服务器不在一台机器上
- oracle 数据库 sqlplus的一些要点
- 无法打开登录所请求的数据库database登录失败用户登录失败
- iOS: 转载CoreData数据库框架