(1)not null:只能在列内定义,其他4种约束可以在列定义结束后在表内定义。
create table MZ_SF(id number(14) not null,jyqq number(5) default 0);
(2)unique:不重复,但是可以为空。
create table MZ_SF1(id number(14) not null,djh varchar2(50) notnull,unique(id,djh));
或者
create table MZ_SF1(id number(14) not null,djh varchar2(50) not null);
alter table MZ_SF1 add unique(id,djh);
(3)check:可以根据用户要求进行自动检索。
create table MZ_SF2(id number(14) not null check (id<100 anddjh>100));
或者
create table MZ_SF2(id number(14) not null);
alter table MZ_SF2 add check (id<100 and djh>100);
(4)primary key:主键不可以重复,也不能为空。而且oracle会自动为主键列创建索引。一个表只能有一个primary key,可以有多个unique。
5种方式:
1)oracle起的主键名称:
create table MZ_SF3(id number(14) primary key);
或者
create table MZ_SF3(id number(14) not null);
alter table MZ_SF3 add primary key (id);
2)自己起的主键名称:
create table MZ_SF4(id number(14) constraint pk_id1 primary key);
或者
create table MZ_SF4(id number(14) not null);
alter table MZ_SF4 add constraint pk_id1 primary key (id);
3)oracle起的主键名称:
create table MZ_SF5(id number(14),primary key(id));
或者
create table MZ_SF5(id number(14) not null);
alter table MZ_SF5 add primary key (id);
4)自己起的主键名称:
create table MZ_SF6(id number(14),constraint pk_id2 primary key(id));
或者
create table MZ_SF6(id number(14) not null);
alter table MZ_SF6 add constraint pk_id2 primary key (id)
5)后来加上主键:
oracle起的主键名称:
create table MZ_SF8(id number(14) not null);
alter table MZ_SF8 add primary key(id);
自己起的主键名称:
create table MZ_SF8(id number(14));
alter table MZ_SF8 add constraint pk_id primary key(id);
(5)foreign key:外键实现两个表之间参照或被参照的关系,外键只能取主键已经有的值。
create table mz_sfzb1(sno char(8),constraint pk_sfzb1 primary key(sno));
create table mz_sfzb2 (sid char(4),constraint pk_sfzb2 primarykey(sid));
alter table mz_sfzb1 add constraints fk_sfzb2 foreign key(sid);
(6)default语句:
create table MZ_SF7(id number(14) default12);
或者
Create table MZ_SF7(id number(14));
Alter table MZ_SF7 alter column id setdefault 12;