T-SQL

T-SQL 知识量:16 - 67 - 243

5.7 非空约束><

在创建表时添加非空约束- 5.7.1 -

在T-SQL中,可以在创建表时添加非空约束,以确保列中的数据不为空。以下是添加非空约束的示例:

CREATE TABLE 表名 (  
    列名 数据类型 NOT NULL  
);

在上述示例中,表名是要创建的表的名称,列名是要添加非空约束的列的名称。

例如,以下是一个创建名为employees的表并添加非空约束的示例:

CREATE TABLE employees (  
    id INT PRIMARY KEY,  
    name NVARCHAR(50) NOT NULL,  
    age INT NOT NULL,  
    salary DECIMAL(10, 2) NOT NULL  
);

在上述示例中,employees表中的name、age和salary列被添加了非空约束。这意味着在插入新记录时,这些列的值不能为空。如果尝试插入空值,将会引发错误。

注意:非空约束可以用于单列或多列,以确保列组合的非空性。在定义非空约束时,要确保仔细考虑其范围和要求,以确保数据的准确性和完整性。

在现有表中添加非空约束- 5.7.2 -

要在现有表中添加非空约束,可以使用ALTER TABLE语句配合ADD CONSTRAINT子句。以下是一个示例:

ALTER TABLE 表名    
ADD CONSTRAINT 约束名    
CHECK (列名 IS NOT NULL);

在上述示例中,表名是要添加非空约束的表的名称,约束名是要为非空约束指定的名称,列名是要添加非空约束的列的名称。

例如,以下是一个在名为employees的现有表中为name列添加名为CN_Name的非空约束的示例:

ALTER TABLE employees  
ADD CONSTRAINT CN_Name  
CHECK (name IS NOT NULL);

上述示例将在employees表中为name列添加一个名为CN_Name的非空约束,确保该列中的数据不为空。

注意:在添加非空约束之前,请确保列中不存在空值。否则,将会引发错误。此外,添加非空约束可能会影响已经存在的记录。

删除非空约束- 5.7.3 -

要删除T-SQL中的非空约束,可以使用ALTER TABLE语句配合DROP CONSTRAINT子句。以下是删除非空约束的示例:

ALTER TABLE 表名    
DROP CONSTRAINT 约束名;

在上述示例中,表名是要删除非空约束的表的名称,约束名是要删除的非空约束的名称。

例如,以下是一个删除名为CN_Name的非空约束的示例:

ALTER TABLE employees    
DROP CONSTRAINT CN_Name;

上述示例将从名为employees的表中删除名为CN_Name的非空约束。

注意:在执行此操作之前,请确保没有其他表或触发器依赖于要删除的非空约束。此外,如果存在与要删除的非空约束关联的数据,删除非空约束可能会影响数据的完整性。