约束的名称

文章目录


 唯一约束、非空约束、主键约束都有自己的名字,只不过是系统自动给定的默认名称,我们也可以在创建约束的时候指定名称,这个需要使用constraint来创建。
DEMO:观察默认的约束名称
--删除数据表
DROP TABLE teacher PURGE; 
--创建数据表
CREATE TABLE teacher(
 tno NUMBER(4) PRIMARY KEY,--主键约束
 tname VARCHAR2(10) UNIQUE,--唯一约束
 tage NUMBER(3),
 tdate DATE
);
--插入数据
INSERT INTO teacher VALUES(1001,‘X老师’,100,SYSDATE);
INSERT INTO teacher VALUES(1002,‘Y老师’,100,SYSDATE);
INSERT INTO teacher VALUES(1003,‘Z老师’,100,SYSDATE);
在这里插入图片描述
DEMO:指定自定义的约束名称
--删除列表
DROP TABLE teacher PURGE;
--创建数据表
CREATE TABLE teacher(
 tno NUMBER(4),
 tname VARCHAR(10),
 tage NUMBER(3),
 tdate DATE,
--创建主键约束(使用constraint关键字引导创建)
CONSTRAINT pk_tno PRIMARY KEY(tno),
--创建唯一约束(使用constraint关键字引导创建)
CONSTRAINT uk_tname UNIQUE(tname)
);
--插入数据
INSERT INTO teacher VALUES(1001,‘X老师’,100,SYSDATE);
INSERT INTO teacher VALUES(1002,‘Y老师’,100,SYSDATE);
INSERT INTO teacher VALUES(1003,‘Z老师’,100,SYSDATE);
在这里插入图片描述
除了以上三种约束之外还有其他约束比如检查约束,检查约束是可以为字段值进行简单的验证,比如要让年龄的范围是0~250岁,那么可以使用检查约束
DEMO:检查约束(CHECK)
--删除数据
DROP TABLE teacher PURGE;
--创建数据表
CREATE TABLE teacher (
 tno NUMBER(4),
 tname VARCHAR2(10),
 tage NUMBER(3),
 tdate DATE,
 --创建主键约束
 CONSTRAINT pk_tno PRIMARY KEY(tno),
 --创建唯一约束
 CONSTRAINT uk_tname UNIQUE(tname),
 --创建检查约束
 CONSTRAINT ck_tage CHECK(tage BETWEEN 0 AND 250)
);
--插入数据
INSERT INTO teacher VALUES(1001,‘X老师’,100,SYSDATE);
INSERT INTO teacher VALUES(1002,‘Y老师’,100,SYSDATE);
INSERT INTO teacher VALUES(1003,‘Z老师’,251,SYSDATE);
在这里插入图片描述
总结:
1、如果要指定约束的名称,那么需要使用CONSTRAINT引导创建
2、检查约束我们只是作为语法提出,在开发中不会去使用,因为很耗费性能,如果真有这样的需求是交给程序去实现。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值