📅  最后修改于: 2023-12-03 14:44:25.319000             🧑  作者: Mango
在 MS SQL 中,约束(constraint)可以定义表中数据的规则和完整性。当向表中插入或更新数据时,这些约束将确保数据的正确性和有效性。默认约束(default constraint)是约束的一种类型,它用于给列定义默认值。
创建默认约束可以在创建表时或者后期修改表时添加。以下是在创建表时添加一个默认约束的 SQL 语句示例:
CREATE TABLE customers (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) DEFAULT 'unknown',
...
);
上面的 SQL 语句使用 DEFAULT 关键字为 email 列定义了一个默认值 'unknown' 。这意味着如果插入数据时没有提供 email 的值,它将自动设置为 'unknown' 。
如果要在修改表时添加默认约束,则可以使用 ALTER TABLE 语句。以下是向现有表中添加默认约束的 SQL 语句示例:
ALTER TABLE customers
ADD CONSTRAINT DF_customers_email DEFAULT 'unknown' FOR email;
上面的 SQL 语句使用 ALTER TABLE 语句为 customers 表添加了一个名为 DF_customers_email 的默认约束,并将该约束添加到 email 列上。
默认约束也可以像其他约束一样被修改或删除。以下是修改默认约束的 SQL 语句示例:
ALTER TABLE customers
ALTER CONSTRAINT DF_customers_email DEFAULT 'new_default_value' FOR email;
上面的 SQL 语句使用 ALTER TABLE 语句修改了 DF_customers_email 约束的默认值为 'new_default_value' 。
删除默认约束使用 ALTER TABLE 语句,语法如下:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
其中, table_name 是要从中删除默认约束的表的名称,constraint_name 是默认约束的名称。以下是删除默认约束的 SQL 语句示例:
ALTER TABLE customers
DROP CONSTRAINT DF_customers_email;
上面的 SQL 语句从 customers 表中删除了名为 DF_customers_email 的默认约束。
默认约束是 MS SQL 中的一种约束类型,用于为列定义默认值。默认约束可以在创建表时添加,也可以在后期使用 ALTER TABLE 语句进行添加、修改或删除。如果没有提供列的值,它将自动设置为默认值。