随笔-数据库-约束

本文介绍了数据库约束的概念、特点,包括主键、唯一、检查、外键和默认约束。详细讲解了如何在建表时创建列级和表级约束,以及建表后如何添加约束。约束命名部分阐述了各种约束类型的命名原则,并提供了示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、什么是约束?

2、约束特点

3、创建约束

3.1、建表时创建列级约束

3.2、建表时创建表级约束

3.3、建表后加约束

4、约束命名

4.1、命名原则

4.1、列级约束命名

4.2、表级约束命名

4.3、建表后加约束

5、约束操作


1、什么是约束?

    约束是一种自动保持数据库完整性的一种方法,定义了数据库表及表字段中数据的限制条件,约束分为列级约束和表级约束,区别如下:

2、约束特点

  • 主键约束(Primay Key Coustraint):字段值唯一并且不为空。
  • 唯一约束(Unique Counstraint):字段值唯一,值可为空,并且表中可存在多个null值。
  • 检查约束(Check Counstraint):对字段值进行长度、大小等限制。
  • 外键约束(Foreign Key Counstraint):建立两个表之间的关联关系。主表字段值必须是唯一的。
  • 默认(Default Counstraint):为字段设置默认值。当添加多个约束时,默认约束必须为第一个。
  • 非空约束:限定字段值不为空。

3、创建约束

3.1、建表时创建列级约束

-- 创建列级约束
create table student_one(
       stuid number primary key, -- 主键约束
       studentno varchar2(100) unique,  -- 唯一约束
       studentname varchar2(200) not null check(length(studentname) > 2), -- 非空约束 检查约束 (多个约束通过空格分开)
       createtime date default sysdate -- 默认约束
);

3.2、建表时创建表级约束

create table class_one(
       classid number primary key, -- 主键约束
       classname varchar2(100) unique  -- 唯一约束
);
-- 创建表级约束
create table student_two(
       stuid number,
       studentno varchar2(100), 
       studentname varchar2(200) not null, -- 非空约束 
       createtime date default sysdate, -- 默认约束
       classid number,
       primary key(stuid), -- 主键约束
       unique(studentno), -- 唯一约束
       check(length(studentname) > 2), -- 检查约束 
       foreign key(classid) references class_one(classid)-- 外键约束 (多个约束通过逗号分开)
);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值