SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束,今天使用SQL Server2008 来演示下这几种约束的创建和使用的方法。

1、Primary Key 约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。

这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。

创建主键约束可以右键单击表,选择设计 。

MYSQL性别列默认值_MYSQL性别列默认值

选中要创建主键的列,然后单击上面的小钥匙。

MYSQL性别列默认值_主键_02

也可以右键需要创建主键的列,然后单击小钥匙。

MYSQL性别列默认值_外键_03

2、Foreign Key 约束

    外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。

   右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。

MYSQL性别列默认值_多列_04

接下来点击添加 --> 表和列规范。

MYSQL性别列默认值_主键_05

在主键表中选择主表和主表的主键列。

MYSQL性别列默认值_MYSQL性别列默认值_06

设置完后保存即可。

3、Unique 约束

唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。

右键单击要设置的列选择索引 / 键。

MYSQL性别列默认值_主键_07

然后单击添加按钮。

MYSQL性别列默认值_MYSQL性别列默认值_08

选择需要设置的列,可以是一列也可以是多列的组合。

MYSQL性别列默认值_外键_09

关闭并保存设置。

4、Default 约束

若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为 NULL 。

以学生信息表为例,在表设计器中,为性别 sex 列填写默认值男。

MYSQL性别列默认值_多列_10

5、Check 约束

Check 约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足 Check 约束的条件,否则将无法正确输入。

以学生信息表中的 sex 为例,我们要限制 sex 列的值只能为男或女。

MYSQL性别列默认值_多列_11

MYSQL性别列默认值_主键_12

MYSQL性别列默认值_MYSQL性别列默认值_13

MYSQL性别列默认值_外键_14

关闭并保存设计。