SQL Server Not Null约束

时间:2025-03-19 09:53:05

SQL Server NOT NULL约束简介

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

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

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

CREATE SCHEMA hr;

 GO CREATE TABLE (

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 约束添加到 表的 phone 列,请使用以下语句。 首先,如果某些人员没有电话号码,则将电话号码更新为公司电话号码,例如, 0898-88889999 :

UPDATE SET phone = "0898-88889999"

WHER phone IS NULL;

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

ALTER TABLE 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 ALTER COLUMN phone NULL;