SQLSever的NOT NULL与唯一约束

本文介绍了SQL Server的NOT NULL约束和UNIQUE约束。NOT NULL约束确保列不能包含NULL值,而UNIQUE约束则保证列或列组内的数据唯一。UNIQUE约束允许一个列有一个NULL值,且在需要非主键列的唯一性时使用。同时,UNIQUE约束会创建一个自动索引来强制执行唯一性。

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

在之前提到了SQL Server的主键与外键约束,今天我们来好好的了解下SQL Server的其它约束,今天我们要介绍的是Not NULL与唯一约束。

SQL Server NOT NULL约束只是指定列不能为 NULL 值。 (如图所示)以下示例为列创建一个具有NOT NULL约束的表:persons ,它具有以下几个字段: first_name ,last_name和email:

请注意,上面几列中,将 NOT NULL 约束作为列约束。 默认情况下,如果未指定NOT NULL约束,则SQL Server将允许该列接受 NULL 。 在此示例中,只有 phone 列可以接受 NULL 。

SQL Server UNIQUE 约束用于确保存储在列或列组中的数据在表中的行中是唯一的。 以下语句创建一个表: hr.persons ,其 email 邮件列中的数据在表的行中是唯一的:

在此语法中,将 UNIQUE 约束定义为列约束。 还可以将 UNIQUE 约束定义为表约束:

SQL Server自动创建 UNIQUE 索引以强制存储在参与 UNIQUE 约束的列中的数据的唯一性。 因此,如果尝试插入重复行,SQL Server将拒绝更改并返回一条错误消息,提示说已违反 UNIQUE 约 束。尽管 UNIQUE 和 PRIMARY KEY 约束都强制数据的唯一性,但是当要强制实现不是主键列的列或列组的唯 一性时,应使用 UNIQUE 约束而不 是 PRIMARY KEY 约束。 与 PRIMARY KEY 约束不同, UNIQUE 约束允许 NULL 值。 此外, UNIQUE 约束将 NULL 视为常规值,因此,它只允许每列一个 NULL 。

在这里讲述了关于SQL Server NOT NULL约束与SQL Server UNIQUE 约束(也就是唯一约束)的一些基本知识,SQL Sever中还有许多的知识点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值