SQL Server中表的约束创建使用

  • 作者:村长
  • 发布时间:2020-04-18 19:00
  • 分类:SQL Server
  • 标签: SQL Server,表的约束,约束的使用选择

1、表的约束

(1)使用约束的目的是什么?

确保表中数据完整性


(2)表的常用约束类型有哪些?

主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空
唯一约束(Unique Constraint):要求该列数据唯一,允许为空,但只能出现一个空值
检查约束(Check Constraint):某列取值范围限制、格式限制等
默认约束(Default Constraint):某列的默认值
外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的哪列


2、表的主键约束、默认约束、外键约束的创建

(1)primary key(主键)的创建 

作用:相当书的目录一样,通过这个页码快速找到这条数据


示例:

Create table  Student    --创建学生信息表
(
   StudentNo   int  primary key not null,                       --学号,非空(必填)
)


(2)默认约束(default)

作用:该字段没有插入值的时候,直接使用该默认值


示例:

Create table  Student    --创建学生信息表
(
   StudentNo   int  primary key not null,                       --学号,非空(必填)
   LoginPwd  nvarchar(20)  default('123456') not null,        --密码,非空(必填)
);



(3)外键约束(foreign key)

作用:两张表的值是相关联的,有一个关系挂钩

注意:需要有两张表存在才能使用外键约束


假设这里有一张学生表,学生表的年级和年级表挂钩,那么就需要先创建年级表,再创建学生表



示例:(先创建年级表,年级表的ID需要和学生表的年级挂钩)

年级表:

create table class
(
    classId int primary key, -- 年级ID
    className nvarchar(64) not null,-- 年级名称
)


学生表:

create table student
(
    studentId int primary key, -- 学生ID
    studentName nvarchar(64) not null,-- 学生姓名
    classId int not null, -- 学生班级ID
    foreign key(classId) references class(classId), -- 班级表的外键
)


(4)唯一索引(unique)

作用:某个字段的值只能有一个,那么就可以用它来约束


示例:学生的姓名不能重复

Create table  Student    --创建学生信息表
(
  StudentNo   int  primary key not null,                       --学号,非空(必填)
  StudentName  nvarchar(20) unique not null,  --姓名,非空(必填)
)


(5)检查约束(check)

作用:提供一个范围约束


示例:学生的创建时间范围使用检查约束

Create table  Student    --创建学生信息表
(
  StudentNo   int  primary key not null,     --学号,非空(必填)
  createTime  int check(createTime > '2020-01-01') not null,  --创建时间
)


  • php程序员面试笔试宝典
琉忆编程库

手册下载

    暂无手册

编程资料

    暂无资料
TOP
加载中...