SQL Server 2012 检查约束(定义检查约束、删除检查约束)




准备知识

    检查约束在表中定义一个对输入的数据按照设置的逻辑进行检查的标识符.
    一旦表中某列设置了检查约束,则在向表中添加数据时,会使用这个约束对输入的数据按照设置的逻辑进行检查。

定义检查约束

使用SSMS工具定义检查约束
  1. 展开“数据库”,然后展开相应的数据库,再展开数据库中的“表”,右击需要定义检查约束的数据表,选择“设计”。
    在这里插入图片描述
  2. 进入表设计器界面,点击需要定义检查约束的列,选择“Check约束”。
    在这里插入图片描述
  3. 进入“Check约束”对话框,点击“添加”,在“表达式”中输入相关表达式(如果是选值,则是“ 列名=‘值’ Or 列名=‘值’ ”,如果是范围,则是“ 列名 between 值 And 值 ”)。
    在这里插入图片描述
  4. 在“(名称)”中输入检查约束的名称,点击“关闭”。
    在这里插入图片描述
  5. 点击保存键,或者按Ctrl+F5键进行保存。展开数据表,展开“约束”,可以看到定义的检查约束。
    在这里插入图片描述

使用SQL方式定义检查约束
方式一:在创建数据表的时候定义检查约束
  1. 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
    在这里插入图片描述
  2. 输入创建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,                                      --所选专业
)


  1. 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
    在这里插入图片描述
  2. 点击“执行”按钮,或按住F5,执行SQL代码。
    在这里插入图片描述
  3. 查看数据表中的约束。
    在这里插入图片描述

方式二:修改数据表定义检查约束
  1. 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
    在这里插入图片描述
  2. 输入创建SQL代码
USE schoolDB                                                 --打开数据库schoolDB
GO
ALTER TABLE student
ADD CONSTRAINT CK_student_Sex CHECK(Sex='男' Or Sex='女') --对Sex列定义检查约束

  1. 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
    在这里插入图片描述
  2. 点击“执行”按钮,或按住F5,执行SQL代码。
    在这里插入图片描述
  3. 查看数据表中的约束。
    在这里插入图片描述


删除检查约束

使用SSMS工具删除检查约束
方式一:在对象资源管理器中删除检查约束
  1. 展开需要删除检查约束的数据表,然后再展开“约束”。
    在这里插入图片描述
  2. 右击需要删除的检查约束,选择“删除”。
    在这里插入图片描述
  3. 在删除对象界面,点击“确定”,即可完成检查约束删除。
    在这里插入图片描述

方式二:在表设计器中删除检查约束
  1. 右击需要删除检查约束的数据表,选择“设计”。
    在这里插入图片描述

  2. 进入表设计器界面,点击鼠标,选择“Check约束”。
    在这里插入图片描述

  3. 在“Check约束”对话框中选择需要删除的检查约束,点击“删除”,完成检查约束的删除。
    在这里插入图片描述


使用SQL方式删除检查约束
  1. 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
    在这里插入图片描述

  2. 输入创建SQL代码

USE schoolDB                                                 --打开数据库schoolDB
GO
ALTER TABLE student
DROP CONSTRAINT CK_student_Sex --删除Sex列的检查约束

  1. 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
    在这里插入图片描述
  2. 点击“执行”按钮,或按住F5,执行SQL代码。
    在这里插入图片描述
  3. 检查约束已被删除。
    在这里插入图片描述



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章