SQL键约束

--主键primary key
create table Persons
(
id int not null,
name varchar(255) not null,
constraint pk_id primary key (id asc,name desc)
)

alter table Persons
add constraint pk_id primary key (id asc,name desc)

alter table Persons
drop constraint pk_id

--外键foreign key
create table Orders
(
oid int not null,
oname varchar(255) not null,
constraint fk_id foreign key (oid) references Persons (id)
)

alter table Orders
add constraint fk_id foreign key (oid)

alter table Orders
drop constraint fk_id

--唯一约束unique
create table Persons
(
id int not null,
name varchar(255) not null,
constraint uk_id unique (id asc,name desc)
)

alter table Persons
add constraint uk_id unique (id asc,name desc)

alter table Persons
drop constraint uk_id


--删除表的字段的 not null 约束:

alter table x modify column_name null;
alter table x modify column_name not null;

--默认值约束 default
create table Orders
(
    num int not null default 1
)

alter table Orders
add constraint df_num default (1) for num

alter table Orders
drop constraint df_num


--check约束
create table Persons
(
id int not null,
name varchar(255) null,
sex varchar(255) not null,
phone varchar(255) null,
constraint chk_id check (id>0),
constraint chk_name check ((id=0 and name='未知') or id>0),
constraint chk_sex check (sex='' or sex=''),
constraint chk_phone check (phone like '(010) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]')
)

alter table Persons
add constraint chk_id check (id>0)
,   constraint chk_name check ((id=0 and name='未知') or id>0)
,   constraint chk_sex check (sex='' or sex='')
,   constraint chk_phone check (phone like '(010) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]')

alter table Persons
drop constraint chk_id
,    constraint chk_name
,    constraint chk_sex
,    constraint chk_phone

 

posted @ 2019-04-11 23:26  唧唧复唧唧木兰当户织  阅读(499)  评论(0编辑  收藏  举报