一、定义:

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

做数据库,就必须要会写约束。

二、将新的 CHECK 约束附加到表或列
1、附加新的 CHECK 约束  
  (1)、在数据库关系图中,右击包含约束的表,然后从快捷菜单中选择"约束"命令。
  -或-
  
  为将包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"约束"命令。
  
  (2)、选择"新建"命令。"选定的约束"框显示由系统分配的新约束名。系统分配的名称以"CK_"开始,后跟表名。
  
  在"约束表达式"框中,为 CHECK 约束键入 SQL 表达式。例如,若要将 authors 表中 state 列的输入项限制为 New York,请键入:
  state = ‘NY’
  或者,若要要求 zip 列中的输入项为 5 位数字,请键入:
  
  zip LIKE ‘[0-9][0-9][0-9][0-9][0-9]’ 中间不能有空格
  
  若要给约束提供一个不同的名称,请在"约束名"框中键入名称。
   
  用复选框控制何时强制约束:

若要在创建约束前对现有数据测试约束,请选中"创建中检查现存数据"复选框。
  
  若要在该表中发生复制操作时强制约束,请选中"对复制强制约束"复选框。
    
  若要在该表中插入或更新行时强制约束,请选中"对 INSERT 和 UPDATE 强制约束"复选框。

2、定义 CHECK 约束表达式
  
  当将 CHECK 约束附加到表或列时,必须包括 SQL 表达式。
  
  可以创建简单的约束表达式在简单条件下检查数据;或使用布尔运算符创建复杂的约束表达式以在多种条件下检查数据。例如,假设 authors 表中有一个 zip 列,该列要求 5 位数字的字符串。下面的示例约束表达式确保只允许 5 位数字:
  
  zip LIKE ‘[0-9][0-9][0-9][0-9][0-9]’
  或者假设 sales 表中有一个名为 qty 的列,该列要求大于 0 的值。下面的示例约束确保只允许正值:
  
  qty > 0
  或者假设 orders 表限制所有信用卡订单可接受的信用卡类型。下面的示例约束确保如果用信用卡发出订单,则只接受 Visa、MasterCard 或 American Express:
  
  NOT (payment_method = ‘credit card’) OR
  (card_type IN (‘VISA’, ‘MASTERCARD’, ‘AMERICAN EXPRESS’))
  
  3、定义约束表达式
  
  创建新的 CHECK 约束。
  
  在属性页的"CHECK 约束"选项卡中,使用下列语法在"约束表达式"框中键入表达式:

{constant | column_name | function | (subquery)}
  [{operator | AND | OR | NOT}
  {constant | column_name | function | (subquery)}…]

二、修改 CHECK 约束
  当要更改约束表达式,或更改对特定条件启用或禁用约束的选项时,修改 CHECK 约束。
  
  I、在数据库关系图中右击包含约束的表,然后从快捷菜单中选择"属性"命令。
  -或-
  
  为包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"属性"命令。
  
  II、选择"CHECK 约束"选项卡。
  
  III、从"选定的约束"列表中,选择要更改的约束。
IV、填写修改规则。

当保存表或关系图时,约束即在数据库内被更新。

三、删除 CHECK 约束

当要删除对约束表达式包含的列所接受数据值的限制时,删除 CHECK 约束。
  
  I、在数据库关系图中右击包含约束的表,然后从快捷菜单中选择"属性"命令。
  -或-
  
  为包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"属性"命令。
  
  II、选择"CHECK 约束"选项卡。
  
  III、从"选定的约束"列表中选择约束。
  
  IV、选择"删除"按钮。

注意  选择"删除"按钮将导致一个无法撤消的操作,而且不保存对数据库关系图所做的所有其它更改。若要撤消该操作,请不保存更改即关闭当前的数据库关系图和所有其它打开的数据库关系图。
  
  当保存表或关系图时,约束即从数据库中被删除。

份证号码的约束表达式怎么写?

…….

逻辑表达式

右击选择表中的check约束–添加约束–写入常规表达式(sage代表代表某一字段名,并且是该字段的值)

                sage.value >15 && sage.value<31sage.value == sage>  == >&& == andsage > 15 and sage<31约束电话格式:13.........  15.......  18.....   147.......if(stel像13....)stel like '[1]'  表示stel电话的值第一个字符是1并且只能是1个字符([stel] like '[1][3][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'OR [stel] like '[1][5][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')验证邮箱sqqemail like '[^0-9]%[@][q][q][.][c][o][m]'表示第一个字符不允许是数字,第一个字符与@符号之间是任意字符。后面是固定格式

SQL Server Check检查约束用法相关推荐

  1. SQL Server中的约束:SQL NOT NULL,UNIQUE和SQL PRIMARY KEY

    This article explains the SQL NOT NULL, Unique and SQL Primary Key constraints in SQL Server with ex ...

  2. 因为WMI配置,无法执行Sql Server 系统配置检查器的解决办法

    今天重装机器,重新要安装sql 2005,遇到了如下问题: 因为WMI配置,无法执行Sql Server 系统配置检查器的解决办法 随即网上搜索了下,办法不多,还好找到个有用的,贴出来给大家. 先建立 ...

  3. mysql raiserror_RAISERROR在SQL Server数据库中的用法

    raiserror  是由单词 raise error 组成 raise  增加; 提高; 提升 raiserror 的作用: raiserror 是用于抛出一个错误.[ 以下资料来源于sql ser ...

  4. SQL SERVER 中 GO 的用法2

    具体不废话了,请看下文详解. 1 2 3 4 5 6 7 8 9 10 use db_CSharp go  select *,  备注=case  when Grade>=90 then '成绩 ...

  5. SQL Server健康检查的重要性

    SQL Server健康检查的重要性 对一台新的或不熟悉的服务器,你首先要做的是收集尽可能多有关Server的信息,从硬件和存储子系统的细节,到OS,再到SQL Server实例本身.你需要知道要处理 ...

  6. SQL Server主键约束

    A. SQL Server主键约束 PRIMARY KEY简介 主键是唯一标识表中每一行的列或一组列.可以使用 PRIMARY KEY 约束为表创建主键. 如果主键只包含一列,则可以将 PRIMARY ...

  7. SQL Server外键约束

    A. SQL Server外键约束 SQL Server外键约束简介 外键是一个表中的一列或一组列,它唯一地标识另一个表的行. vendor_groups 和v endor 表,它们的结构如下: 每个 ...

  8. SQL Server 中 RAISERROR 的用法 raiserror 是由单词 raise error 组成 raise 增加; 提高; 提升 raiserror 的作用: r

    SQL Server 中 RAISERROR 的用法 raiserror  是由单词 raise error 组成      raise  增加; 提高; 提升 raiserror 的作用: rais ...

  9. SQL Server中有关约束(constraint)的一些细节

    本文出处:http://www.cnblogs.com/wy123/p/7350265.html  (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些 ...

最新文章

  1. git config —global_Git多用户配置
  2. python编写测试系统_纯 python 编写的一套 dubbo 测试平台
  3. 叶杰平入选、华人占4成,2020年ACM杰出科学家榜单出炉
  4. Linux下command not found(以CentOS下没有telnet为例)
  5. 贷款时,如何评估借款人的还款意愿
  6. 敏捷开发_敏捷开发和迭代开发的异同分析
  7. spi的dma方式前四个字节_前嗅教你大数据:常见几种编码介绍
  8. win10 Java 环境配置
  9. gfdgdfgdfg
  10. vscode中文设置不生效_vscode 无法设置中文怎么办
  11. NMS非极大值抑制原理——目标检测
  12. 计算机显示器一半有阴影,电脑显示器有阴影的解决方法,希望你们喜欢!
  13. NOI2015 小园丁与老司机
  14. matlab进行预测误差过大,神经网络预测误差太大怎么办,如何看预测结果
  15. 转载:Python中to_csv函数输出的utf8数据用Excel打开是乱码
  16. 基于JAVA小区生活服务平台的设计与实现计算机毕业设计源码+系统+lw文档+部署
  17. win10自带的删除电脑流氓弹窗软件工具怎么用
  18. 人大金仓命令行客户端工具KSQL系列1
  19. 感性负载对电源的影响有多大?
  20. Python利用马青公式计算圆周率Π并写入文件

热门文章

  1. w10计算机管理员权限在哪里设置密码,Win10使用管理员权限需要PIN密码的设置方法 三种解决方法...
  2. fopen 参数'rb' 与'rb+'引发的黑色血案
  3. 简历写法和面试流程答疑
  4. 通孔的作用是什么linux,转载:PCB名詞解釋:通孔、盲孔、埋孔
  5. 多模块下的接口 API 如何统一管理——聚合 API
  6. 提升企业团队凝聚力的四步法
  7. (转)如何成为一名优秀的程序员?
  8. python怎么读取石墨表格_石墨这种多人文档编辑协作如何用开源软件实现?
  9. vscode中vue代码格式化的相关配置
  10. chrony配置外部时钟源后stratum=16