--约束(主键、非空、唯一、check、外键、默认)
--创建表的同时创建约束
--方式一:直接将约束写在字段的后面
create table student
(
sno int primary key,--主键
sname varchar2(20) not null,--非空
sex varchar2(2) check(sex in ('男','女')),--check(sex ='男'or sex='女'),
address varchar2(20) default '湖南长沙',--默认约束
cardid varchar2(20) unique not null --唯一
)
drop table student;
--方式二:将所有字段写好后在来写约束
create table test
(
sno int ,
sname varchar2(20),
constraint PK_TEST primary key(sno)
)
drop table test;
-- 外键约束
--(oracle里面创建表的同时创建外键约束的时候如果是将约束直接写在单个的字段后面是不需要加foreign key)
--(oracle里面创建表的同时创建外键约束的时候如果是将约束直接写在所有的字段后面是需要加foreign key)
create table score
(
sno int references student(sno),
cno int,
grade float,
constraint PK_score primary key(sno,cno),
constraint FK_STUDENT_SCORE foreign key(cno) references course(cno)
)
--删除表
drop table score;
create table course
(
cno int primary key,--课程号
cname varchar2(20)--课程名
)
drop table course;
--SQL SERVER里面的书写方式
/*create table tt1
(
sno varchar(3) foreign key references student(sno),
aa varchar(20)
)
create table tt2
(
sno varchar(3),
aa varchar(20),
constraint FK_student_tt2 foreign key(sno) references student(sno)
)*/
--创建表以后再来添加约束
create table student
(
sno int,
sname varchar2(20),
sex varchar2(2),
address varchar2(20),
cardid varchar2(20)
)
--首先添加主键约束
alter table student
add constraint PK_student_sno primary key(sno)
--删除约束
alter table student
drop constraint PK_student_sno
--not null
alter table student
modify (sname varchar2(30) not null)
--check约束
alter table student
add constraint CK_student_sex check(sex = '男' or sex = '女')
--默认约束
alter table student
modify (address varchar2(20) default '湖南软件评测中心')
--唯一约束
alter table student
add constraint UQ_student_cardid unique(cardid)
--外键约束
alter table score
add constraint FK_student_score foreign key(sno) references student(sno)
select 12*54
oracle 约束实现
原创
©著作权归作者所有:来自51CTO博客作者415172536的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:oracle 数据类型
下一篇:oracle pl/sql编程

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
约束训练
约束训练
2d ide 加载 -
oracle check约束
check
oracle check -
Oracle教程之Oracle管理约束(三)--Oracle禁止和激活约束
1、禁止约束04:55:47 SQL> alter table t1 disable novalidate constraint u_name;Table altered.04:55:48 SQL> select constraint_name,constraint_type,status,table_name from user_constraints04:56:
Oracle管理约束 Oracle禁止和激活约束 Oracle约束 Oracle禁止约束 Oracle激活约束