码迷,mamicode.com
首页 > 数据库 > 详细

数据库的检查约束check约束

时间:2015-10-26 15:37:37      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

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

主键约束其实就是非空唯一约束,非空唯一约束也可以通过建立唯一索引来实现,外键约束需要通过其他的表来帮助实现,非空约束在定义是数据库字段时就定义了。还有另一类约束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






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

数据库的检查约束check约束

标签:

原文地址:http://blog.csdn.net/xuexiaodong009/article/details/49421603

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!