oracle建表同时建约束的几种写法

--主键
create table emp (id number constraint id_pr primary key ,name1 varchar(8));
create table emp9 (id number ,name1 varchar(8) ,constraint aba_pr primary key(id,name1));
--外键
create table emp1(id number references emp(id),name varchar(8));

--复合外键
create table emp0(id number ,name varchar(8) ,constraint fk_nam1e foreign key(id,name) references emp9(id,name1));


--主键另外写法
create table emp2(id number,name varchar(8),id1 number, constraint pk_id primary key(id),constraint fk_name foreign key(id1) references emp(id))
--check 约束的写法
create table emp4(id number check(id in(1,2 ,3)),name varchar(8));


不带约束名称的:

create table userInfo (

id number(6) primary key,--主键

name varchar2(20) not null,--非空

sex number(1),

age number(3) default 18,

birthday date,

address varchar2(50),

email varchar2(25) unique,--唯一

tel number(11),

deptno number(2) references dept(deptno)—外键

);



带约束名称:
create table userInfo (
id number(6) constraint id_pk primary key,
name varchar2(20) constraint name_nn not null,
sex number(1),
age number(3) default 18,
birthday date,
address varchar2(50),
email varchar2(25) constraint email_uqe unique,
tel number(11),
deptno number(2) constraint dept_deptno_ref references dept(deptno)
);


列模式:

create table userInfo (

id number(6),

name varchar2(20),

sex number(1),

age number(3) default 18,

birthday date,

address varchar2(50),

email varchar2(25),

tel number(11),

deptno number(2),

constraint id_pk primary key (id),--也可以两个以上,联合主键

constraint dept_deptno_ref foreign key (deptno) references dept(deptno),

constraint emial_name_uqe unique (email, name)

);

Alter模式:

alter table userInfo add(msn varchar2(20));

alter table userInfo modify(msn varchar2(25));

alter table userInfo drop(msn);



alter table userInfo drop constraint id_pk;

alter table userInfo add constraint id_pk primary key (id);


转自:https://www.cnblogs.com/52xuanxuan/p/6163975.html
posted @ 2017-11-14 16:53  沃泽法克  阅读(1072)  评论(0)    收藏  举报