SQL Server Not Null约束

本文详细介绍了如何在SQL Server中使用NOTNULL约束来限制列只能包含非NULL值,包括如何添加、删除约束以及注意事项。通过实例演示了如何为表中的字段应用NOTNULL约束,并讨论了其在数据验证和表结构维护中的重要性。

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

SQL Server NOT NULL约束简介

SQL Server NOT NULL 约束只是指定列不能为 NULL 值。

以下示例为列创建一个具有 NOT NULL 约束的表: persons ,

它具有以下几个字段: first_name , last_name 和 email :

CREATE SCHEMA hr;

 GO CREATE TABLE hr.persons(

person_id INT IDENTITY PRIMARY KEY,

first_name VARCHAR(255) NOT NULL,

last_name VARCHAR(255) NOT NULL,

email VARCHAR(255) NOT NULL,

phone VARCHAR(20) );

请注意,上面几列中,将 NOT NULL 约束作为列约束。 默认情况下,如果未指定 NOT NULL 约束,则SQL Server将允许该列接受 NULL 。 在此示例中,只有 phone 列可以接受 NULL 。 1. 将NOT NULL约束添加到列 要将 NOT NULL 约束添加到现有列,可以分两步执行: 首先,更新表的值,以便列中没有 NULL 值:

UPDATE table_name SET column_name = WHERE column_name IS NULL;

其次,更改表以更改列的属性:

ALTER TABLE table_name ALTER COLUMN column_name data_type NOT NULL; SQL

例如,要将 NOT NULL 约束添加到 hr.persons 表的 phone 列,请使用以下语句。 首先,如果某些人员没有电话号码,则将电话号码更新为公司电话号码,例如, 0898-88889999 :

UPDATE hr.persons SET phone = "0898-88889999"

WHER phone IS NULL;

第二步,修改 phone 列的属性为 NOT NULL :

ALTER TABLE hr.persons ALTER COLUMN phone VARCHAR(20) NOT NULL;

2. 删除NOT NULL约束

要从列中删除 NOT NULL 约束,请使用 ALTER TABLE ALTER COLUMN 语句,如下所示:

ALTER TABLE table_name ALTER COLUMN column_name NULL;

ALTER TABLE hr.pesons ALTER COLUMN phone NULL;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值