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 @   唧唧复唧唧木兰当户织  阅读(508)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示