sql sever2014学习笔记之约束

创建约束

创建修改约束
创建非空约束,可以在用create table创建表时,使用not null关键字指定非空约束
修改表mingri中的非空约束
use mrkj                      --打开数据库
alter table mingri            --更改表
alter column ID int null      --更改ID字段属性

允许null非空

主键约束

可以通过定义PRIMARY KEY约束来创建主键,用于强制表的实体完整性。一表只能有一个PRIMARY KEY约束,这个约束中的列不能接受空值。
在创建表时创建主建约束
use mrkj     
create table [dbo].[mingritwo](             --创建表mingritwo
[ID][int]constraint pk_id primary key,      --ID字段,设为主键约束
[Name][char](50),
[Sex][char](2),
[Age][int]
)
也可以在现有表中增加主键约束
use mrkj
create table mingrithree                  --创建一个没有主键的表
(      
[ID][int]not null,                         --字段ID,int类型,不能为空
[name][varchar](50),                       --name字段,varchar类型
[age][int]                                 --age字段interesting类型
)
alter table mingrithree                    --更改表
add constraint prm_son primary key (ID)    --对ID字段添加主键约束,主键名prm_son
select *
from mingrithree

在这里插入图片描述
ID左侧出现一个钥匙则说明主键创建成功

删除主键约束
--修改主键primary key约束,必须删除现有的primary key约束,让后再用新定义重新创建该约束。
--删除主键语法
alter table talbe_name
drop constraint constraint_name[,,,,,n]
--删除mingrithree表中的主键约束
use mrkj
alter table mingrithree
drop constraint prm_son          --删除主键约束

在这里插入图片描述
钥匙消失则主键删除成功

同样也可以通过设计表进行主键约束的添加与删除

唯一约束

唯一约束,唯一约束unique用于强调实施列集中值的唯一性。根据unique约束,表中的任何两行都不能有相同的列值。
在创建表时创建约束
在创建表时创建唯一约束

use mrkj
create table mingri5
(
[ID][int]constraint uqe_id unique,   --设置唯一约束,约束名uqe_id
[Name][char](50),
[Sex][char](2),
[Age][int]
)

检查是否成功创建唯一约束

--检查是否创建了唯一约束
select *
from mingri5
insert into mingri5
(ID,Name,Sex,Age)values(12,'小米','女',24)

在这里插入图片描述
当我们向表中添加了ID为12的小米后想要再次添加ID为12的小名时添加失败,此时我们就成功创建了唯一约束.

修改唯一约束,必须删除现有的约束,让后再用新定义重新创建该约束。

删除唯一约束

alter table mingri5
drop constraint uqe_id    --删除在创建表时的唯一约束

验证是否删除约束

insert into mingri5
(ID,Name,Sex,Age)values(12,'小名','女',24)

在这里插入图片描述 唯一约束删除,成功添加ID为12的小名.