数据库的检查约束check约束

数据中的约束,主要有主键约束,外键约束,非空约束等。

主键约束其实就是非空唯一约束,非空唯一约束也可以通过建立唯一索引来实现,外键约束需要通过其他的表来帮助实现,非空约束在定义是数据库字段时就定义了。还有另一类约束check约束,用处挺大的,只是自己很少使用。

  那check约束可以实现那些功能呢?

  1范围规定

  2枚举值规定

  3特定的匹配

1范围规定

  例如规定,金额只能大于0

  ALTER TABLE tablename ADD CHECK (jine>0)

2枚举值规定

例如难度级别,只能为,1,2,3,4

ALTER TABLE tablename  ADD CHECK (nandu>0 and nandu<5) //定位为整形时

或者

ALTER TABLE tablename  ADD CHECK (nandu in (1,2,3,4)) //定位为整形时

 3特定的匹配

  因为数据库中可以使用like的正则表达式,因此也能完成一些特定的匹配

例如必须以9开头的

ALTER TABLE tablename  ADD CHECK (fieldName like‘9%‘)

当然每种数据库的规则,又有很大不同,导致实现的细节会有所不一样。

这些都是由check可以使用的规则决定的,如果check中可以使用自定义函数,则check约束的范围将大大扩展。

其实需要注意的是,空值的处理,因为空值的比较结果是未知,不是真也不是假.

check中可以使用的运算符,主要有>,<,and ,or


版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-07 20:40:45

数据库的检查约束check约束的相关文章

SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束

SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束: MySQL: CREATE TABLE Persons ( Id_P i

SQLServer之修改CHECK约束

使用SSMS数据库管理工具修改CHECK约束 1.打开数据库,选择数据表->右键点击->选择设计(或者展开约束,选择约束,右键点击,选择修改,后面步骤相同). 2.选择要修改的数据列->右键点击->选择CHECK约束. 3.在CHECK约束弹出框中->选择要修改的约束->输入约束表达式->输入约束名和约束描述->选择表设计器规则->点击关闭. 4.点击保存按钮(或者ctrl+s)->刷新表查看修改结果. 使用T-SQL脚本修改CHECK约束 CH

SQLServer之CHECK约束

原文:SQLServer之CHECK约束 CHECK约束添加规则 1.CHECK 约束用于限制列中的值的范围. 2.Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围,在列中更新数据时,所要输入的内容必须满足Check约束的条件,否则将无法正确输入. 3.如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 4.如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. 使用SSMS数据库管理工具添加CHECK约束 1.连接数据库,选择数据库

SQL CHECK 约束&amp;Case when 的使用方法

1.CHECK 约束 SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. SQL CHECK Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束.CHECK 约束规定 "Id_P" 列必须只包含大于 0

SQL CHECK 约束

SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制. 1.ALTER TABLE Persons ADD CHECK (P_Id>0) 2.ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes') 3.ALTER TABLE

SQL Server 第四堂课 用数据库语言while 循环做累加求和。以及数据库的备份,还原,分离,附加。以及check 约束

drop proc qiuhe create proc qiuhe --用数据库语言做累加求和 @n int as declare @sum int --相当于C#语言里定义变量 declare @i int set @sum=0 --再给变量赋值 ,相当于C#语言里的 int sum=0 set @i=1 -- 相当于for 循环里的 int i=1 (int i=1;i<=n;i++) while @i<[email protected] --for(int i=1;i<=n;i++

数据库中的五种约束及其添加方法

数据库中的五种约束及其添加方法五大约束1.—-主键约束(Primay Key Coustraint) 唯一性,非空性 2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3.—-检查约束 (Check Counstraint) 对该列数据的范围.格式的限制(如:年龄.性别等) 4.—-默认约束 (Default Counstraint) 该数据的默认值 5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列五大

数据库基础——(SQLserver)约束

                                                          数据库定义:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 .net - SQL ServerPHP - MySqlJava - Oreacl 数据库中的数据类型:int decimal(长度,小数位数) bit - 布尔型 1 - true 0 - false datetime - 时间日期型 nvarchar(长度) 500 max 字符串varchar(长度) t

CHECK约束

CHECK约束会检查输入到记录中的值是否满足一个条件,如果不满足这个条件则对数据库做的修改不会成功.比如,一个人的年龄是不可能为负数的,一个人的入学日期不可能早于出生日期,出厂月份不可能大于12.可以在CHECK条件中使用任意有效的SQL表达式,CHECK约束对于插入.更新等任何对数据进行变化的操作都进行检查. 在字段定义后添加CHECK 表达式就可以为这个字段添加CHECK约束,几乎所有字段中都可以添加CHECK约束,也就是一张表中可以存在多个CHECK 约束. 下面的SQL语句创建了一张用于