在本教程中,将学习如何使用SQL Server NOT NULL约束来确保列中包含的数据不是NULL。
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 = <new_value>
WHERE column_name IS NULL;
其次,更改表以更改列的属性:
ALTER TABLE table_name
ALTER COLUMN column_name data_type NOT NULL;
例如,要将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;
例如,要从phone列中删除NOT NULL约束,请使用以下语句:
ALTER TABLE hr.pesons
ALTER COLUMN phone NULL;
在本教程中,我们学习了如何使用SQL Server NOT NULL约束来强制列不接受NULL。
						上一篇:
								SQL Server约束
												下一篇:
								SQL Server视图
												
						
						
					
					
					