数据库的检查约束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,not,like,in等。






评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值