数据库之约束浅析

关于Struts2 spring + hibernate进Q群: 130529143交流。
有偿技术支持Q群:
398162181 





--约束
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 的约束

关于Struts2 spring + hibernate进Q群: 130529143交流。
有偿技术支持Q群:
398162181 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值