CHECK 约束

  • 前言
    • 使用check对字符格式进行约束
    • 约束数值范围
    • 约束数据的取值范围

前言

在一次作业当中需要在创建表的时候对数据进行一些约束,当进行查阅资料的时候发现网上对于 check 约束 讲解的博客少得可怜,因此写了这篇一方面是对于自己做完作业后的总结,另一方面是对后来者一个指导。

使用check对字符格式进行约束

例子:
Dtel必须11位,第1位必须是1,第2位只能是3、5、8;

在check中我们可以借用SQL中对字符操作的函数来进行辅助判断。
在这里:

  1. 对于第一个字符的长度限制,可以用length()函数。
  2. 对于后边的字符特定位的限制可以借用SQL语句中的正则表达式来进行。

SQL语句:

Dtel  varchar(30), check (length(Dtel)=11 and ( Dtel like '13%' or Dtel like '15%' or Dtel like '18%'))

约束数值范围

例子:
年龄应大于等于5,小于等于90;

SQL语句:

check ( Aage >= 5 and Aage <= 90 )

或者

Aage integer , check ( Aage between 5 and  90 )

约束数据的取值范围

例子;
角色只能是‘领衔主演’、‘主演’、‘客串’或‘其它’。

SQL语句:

role varchar(50), check (role in ('领街主演','主演','客串','其他'))

PostgreSQL ----- CHECK 约束相关推荐

  1. 在SQL和ERWIN中用自定义类型、规则和默认值实现check约束从而保证数据的完整性...

    ========================================================= /*创建一个名为list的规则,这条规则表明变量只能取0和1两个值*/ CREATE ...

  2. MySQL关于check约束无效的解决办法

    首先看下面这段MySQL的操作,新建一个含有a和b的表,其中a用check约束必须大于0,然而插入了一条(-2,1,1)的数据,其中a=-2,也是成功插入的. 所以MySQL只是check,但是不强制 ...

  3. oracle中check约束性别,关于Oracle Check类型约束的导入与启用

    今天有朋友问,Oracle的Check约束在indexfile中是否存在,导入后没有检查到. 我测试了一下,事实证明是可以的,Oracle的Check Constraints可以通过imp,使用ind ...

  4. mysql 创建表check如何使用_MySQL怎么使用check约束

    在数据库中,CHECK 约束是指约束表中某一个或者某些列中可接受的数据值或者数据格式(用于限制列中的值的范围). 在一些情况下,我们需要字段在指定范围的输入, 例如:性别只能输入 '男'或者'女',余 ...

  5. MySQL使用触发器实现check约束功能

    MySQL使用触发器实现check约束功能 MySQL可以使用check约束,但check约束对数据验证没有任何作用.所以我们可以使用触发器来实现check约束功能. -- 创建表 USE luo; ...

  6. SQLServer之修改CHECK约束

    使用SSMS数据库管理工具修改CHECK约束 1.打开数据库,选择数据表->右键点击->选择设计(或者展开约束,选择约束,右键点击,选择修改,后面步骤相同). 2.选择要修改的数据列-&g ...

  7. mysql删除check约束_高级SQL特性——约束与索引

    一.约束 1.约束的作用 对表中数据进行进一步限制,保证表中数据的完整性.一致性和正确性. 2.约束的分类 1)主键约束 主键能够唯一地标识表中的一行,比如学生表中的学生id. 它的主要作用就是能够将 ...

  8. mysql check约束无效_mysql数据库 check约束无效

    mysql> create table f1 (r1 int constraint tb_f1_r1_chk1 check (mod(r1,3)=0)); Query OK, 0 rows af ...

  9. mysql 约束1 100分_SQL SERVER CHECK语句,使用check约束限定成绩只能为0~100分

    mysql> create table f1 (r1 int constraint tb_f1_r1_chk1 check (mod(r1,3)=0)); Query OK, 0 rows af ...

最新文章

  1. Android开发之布局--RelativeLayout布局
  2. 网页中嵌套网页flush_如何修改网页中的内容?
  3. ubuntu11.04解决root不能登录的问题
  4. FAQ宝典之常见问题排查与修复方法
  5. Transformer又又又升级了?
  6. 标题:DKhadoop大数据处理平台监控数据介绍
  7. 进入 App Store 打分
  8. 【python VS Code】调用自定义模块 ModuleNotFoundError: No module named XXX
  9. mt4 指标 涨跌幅 颜色k线_精品主图 精准K线买卖点提示通达信指标公式源码
  10. 微信怎样连电脑连接到服务器ip,如何把微信小视频传到电脑上?(ipone也适用)...
  11. ubuntu18.04更新内核导致显卡驱动失效
  12. 已解决-改变macOS和Windows双系统的默认启动顺序
  13. 星起航:抖音小店截流是什么,怎么玩?
  14. 英特尔GPU大牛投身AI创业/ ChatGPT公布Bug原因/ SpaceX最新估值1400亿美元…今日更多新鲜事在此...
  15. Tcp Daytime获取客户端
  16. CME基础实验六:CME和CUE集成,实现Voice-mail
  17. 量化趣谈——不务正业的数学家James Simons
  18. quartz c语言,IOS学习之—— Quartz 2D (C语言的框架)
  19. python3攻击服务器_Python服务器用套接字互相攻击
  20. 游戏美术设计外包哪家比较好

热门文章

  1. java jdom解析xml文件_Java 使用JDOM解析XML文档
  2. 电脑桌面分类管理软件--酷呆桌面、腾讯桌面
  3. 汇川伺服电机位置控制模式参数配置
  4. Android 游戏-超级玛丽(Android studio)
  5. ENVI:如何自定义beijing54、西安80、国家2000坐标系
  6. pico的学习之路(三)——CTRT5000一路寻迹传感器|黑白传感器|红外传感器(树莓派pico实现)
  7. NXP BootLoader源码分析并改写SD卡启动
  8. java 项目测试_项目测试工作流程
  9. 3d人脸对齐代码matlab,重磅!清华商汤开源CVPR2018超高精度人脸对齐算法LAB
  10. js定时器实现倒计时小案例