文章目录
准备知识
检查约束在表中定义一个对输入的数据按照设置的逻辑进行检查的标识符.
一旦表中某列设置了检查约束,则在向表中添加数据时,会使用这个约束对输入的数据按照设置的逻辑进行检查。
定义检查约束
使用SSMS工具定义检查约束
- 展开“数据库”,然后展开相应的数据库,再展开数据库中的“表”,右击需要定义检查约束的数据表,选择“设计”。
- 进入表设计器界面,点击需要定义检查约束的列,选择“Check约束”。
- 进入“Check约束”对话框,点击“添加”,在“表达式”中输入相关表达式(如果是选值,则是“ 列名=‘值’ Or 列名=‘值’ ”,如果是范围,则是“ 列名 between 值 And 值 ”)。
- 在“(名称)”中输入检查约束的名称,点击“关闭”。
- 点击保存键,或者按Ctrl+F5键进行保存。展开数据表,展开“约束”,可以看到定义的检查约束。
使用SQL方式定义检查约束
方式一:在创建数据表的时候定义检查约束
- 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
- 输入创建SQL代码
USE schoolDB --打开数据库schoolDB
GO
IF EXISTS(SELECT * FROM sysobjects WHERE name='student')
DROP TABLE student --检查student是否已经存在,如果存在,则删除
GO
CREATE TABLE student --表名为student
(
StuID int NOT NULL, --学生学号
StuName varchar(15) NOT NULL, --学生姓名
Sex char(2) CHECK(Sex='男' Or Sex='女') NULL, --性别
Major varchar(20) NULL, --所选专业
)
- 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
- 点击“执行”按钮,或按住F5,执行SQL代码。
- 查看数据表中的约束。
方式二:修改数据表定义检查约束
- 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
- 输入创建SQL代码
USE schoolDB --打开数据库schoolDB
GO
ALTER TABLE student
ADD CONSTRAINT CK_student_Sex CHECK(Sex='男' Or Sex='女') --对Sex列定义检查约束
- 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
- 点击“执行”按钮,或按住F5,执行SQL代码。
- 查看数据表中的约束。
删除检查约束
使用SSMS工具删除检查约束
方式一:在对象资源管理器中删除检查约束
- 展开需要删除检查约束的数据表,然后再展开“约束”。
- 右击需要删除的检查约束,选择“删除”。
- 在删除对象界面,点击“确定”,即可完成检查约束删除。
方式二:在表设计器中删除检查约束
-
右击需要删除检查约束的数据表,选择“设计”。
-
进入表设计器界面,点击鼠标,选择“Check约束”。
-
在“Check约束”对话框中选择需要删除的检查约束,点击“删除”,完成检查约束的删除。
使用SQL方式删除检查约束
-
在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
-
输入创建SQL代码
USE schoolDB --打开数据库schoolDB
GO
ALTER TABLE student
DROP CONSTRAINT CK_student_Sex --删除Sex列的检查约束
- 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
- 点击“执行”按钮,或按住F5,执行SQL代码。
- 检查约束已被删除。