ORACLE的5种约束

本文详细介绍了SQL中各种约束的使用方法,包括notnull、unique、check、primarykey和foreignkey等约束,并提供了创建表及添加约束的具体语法示例。
[size=large][color=darkblue]not null约束
1:
create table student(
sid int(3),
name varchar(10)not null
);
2:
create table student1(
sid int(3),
name varchar(10)
);
--nysql:alter table student1 modify name varchar(10) not null;
--oracle:alter table student1 modify name not null;
unique 约束:
1:
create table student3(
sid int(3),
name varchar(10) unique
);
2:
create table student4(
sid int(3),
name varchar(10),
constraint unique_student4_sid unique (sid)
);
3:
create table student5(
sid int(3),
name varchar(10)
);
alter table student5 add constraint unique_student5_sid unique(sid);
check约束
1:
create table student6(
sid int(3),
name varchar(10),
age int(3) check (age between 0 and 120)
);
2:
create table student7(
sid int(3),
name varchar(10)not null,
age int(3),
constraint check_studnet7_age check(age between 0 and 120)
);
3:
create table student8(
sid int(3),
name varchar(10)not null
);
alter table student8 add age int(3) check(age between 1 and 120)
4:
create table student9(
sid int(3),
name varchar(10)not null,
age int(3)
);
alter table student9 add constraint check (age between 1 and 120)
primary key 约束:
1:
create table student10(
sid int(3) primary key,
name varchar(10)not null
);
2:
create table student11(
sid int(3),
name varchar(10)not null,
constraint pk_student10_name primary key (sid)
);
3:
create table student12(
sid int(3),
name varchar(10)not null
);
alter table student12 add constraint pk_student12_sid primary key(sid)
foreign key外键
1:
create table student13(
sid int(3),
name varchar(10)not null,
classid int(3) references class(id)
);
2:
create table class(
id int(3) primary key,
name varchar(10));
create table student14(
sid int(3),
name varchar(10)not null,
classid int(3),
constraint fk_student14)_sid foreign key (classid)
references class(id);
3:
create table student15(
sid int(3),
name varchar(10)not null,
classid int(3));
alter table student15 constraint fk_student15_classid foreign key (calssid) references class(id)[/color][/size]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值