SQL server数据库基础——约束类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YoXE7HYI-1636032215914)(.\SQL 案例图片\7 约束.png)]](/https://i-blog.csdnimg.cn/blog_migrate/614f3b732493acb73521548b5389c9f8.png)
1. 非空约束 Not Null
create table dbo.not_null
(
ID int not null,
Name varchar(10) not null
)
2. 默认约束 default
① 创建表 default 约束
create table dbo.default_table -- 创建班级信息表
(
ClassId int not null, -- 班级号不为空
Dept varchar(10) default('软工'), -- 所在系部默认为“软工”
ClassRenshu int default(0) -- 班级人数默认为 0
)
② 修改表 default 约束
alter table dbo.default_table
add constraint df_ClassId default(1001) for ClassId -- constraint 约束关键字 给班级号增加默认值 1001
3. 唯一约束 unique
- 字段值取值唯一,允许 NULL 值。主键不允许 NULL 值。
① 创建表 unique 约束
create table dbo.unique_table
(
StuID int not null,
sex varchar(10),
StuCard int unique
)
② 修改表 unique 约束
alter table dbo.unique_table
add constraint uq_StuID unique(StuID) -- 给 StuID 定义唯一约束
4. 检查约束 check
- check 约束检查输入的值是否在规定的范围内
① 创建表 check 约束
create table dbo.check_table
(
StuID int not null,
Score numeric check(Score>=0 and Score<=100), -- numeric 数字型,int 整数型 |check(Score between 0 and 100)
Setdate date
)
② 修改表 check 约束
alter table dbo.check_table
add constraint ch_Setdate check(Setdate between '2001-1-1' and '2002-1-1')
-- add constraint ch_Setdate check(Setdate>='2001-1-1' and Setdate<='2002-1-1')
5. 主键约束 Primary Key
① 创建表 Primary Key 约束
create table dbo.Primary_Key
(
StuID int primary key not null,
StuName varchar(10)
)
复合主键
create table dbo.Primary_Key2
(
StuID int not null,
CourseID int not null,
Score numeric not null,
constraint pk_StuID_CourseID primary key(StuID,CourseID)
)
② 修改表 Primary Key 约束
alter table dbo.Primary_Key
add constraint pk_StuID primary key(StuID)
6. 外键约束 Foreign Key
① 创建表 Foreign Key 约束
create table Foreign_Key
(
StuID int primary key not null,
StuName varchar(10),
Stu_No varchar(12) foreign key references my.Tb_Stu_Info(Stu_No) -- references 连接到某个表的某个主键
)
② 修改表 Foreign Key 约束
alter table Foreign_Key
add constraint fk_Stuno foreign key(Stu_No) references my.Tb_Stu_Info(Stu_No)
7. 删除约束
alter table Foreign_Key
drop constraint fk_Stuno
本文详细介绍了SQLserver数据库中的七大约束类型:非空约束、默认约束、唯一约束、检查约束、主键约束、外键约束和删除约束。通过实例展示了如何在创建和修改表时应用这些约束,确保数据的完整性和一致性。

458

被折叠的 条评论
为什么被折叠?



