📜  SQL |默认约束(1)

📅  最后修改于: 2023-12-03 15:35:05.659000             🧑  作者: Mango

SQL | 默认约束

在SQL中,默认约束(DEFAULT constraint)是用于在插入新行时,为列中某个属性提供默认值的规则。

默认约束通常在创建表时定义,可以在列定义中为每个列指定一个默认值。

如果在INSERT语句中未指定值,则默认值将被插入该列。

默认约束也可用于更新动作中,如果更新操作未指定该列的值,则默认约束会提供默认值。

创建默认约束

下面的语法演示了如何在创建表时添加默认约束:

CREATE TABLE table_name (
    column1 datatype DEFAULT default_value,
    column2 datatype DEFAULT default_value,
    column3 datatype DEFAULT default_value,
    .....
);

例如,假设我们要创建一个名为“employees”的表,其中包含名字,工资和雇佣日期。假设我们要为“雇佣日期”列添加默认值为当前日期:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    salary DECIMAL(10, 2) NOT NULL DEFAULT 0.0,
    hire_date DATE DEFAULT GETDATE()
);

在这个例子中,我们使用GETDATE()函数来获取当前日期,并将其作为默认值赋给“hire_date”列。

修改默认约束

如果需要修改默认约束,可以使用ALTER TABLE语句,

以下是ALTER TABLE语句的语法:

ALTER TABLE table_name
ALTER COLUMN column_name SET DEFAULT default_value

例如,假设我们想要将“salary”列的默认值更改为50000。可以使用以下语句:

ALTER TABLE employees
ALTER COLUMN salary SET DEFAULT 50000
删除默认约束

如果需要删除默认约束,可以使用ALTER TABLE语句,

以下是ALTER TABLE语句的语法:

ALTER TABLE table_name
ALTER COLUMN column_name DROP DEFAULT

例如,假设我们想要删除“salary”列的默认值。可以使用以下语句:

ALTER TABLE employees
ALTER COLUMN salary DROP DEFAULT
总结

默认约束在SQL中是一个非常有用的特性,它可以为列中的某些属性提供默认值,并确保数据的一致性和完整性。在大多数情况下,您应该在创建表时为列添加默认约束。如果需要修改或删除默认约束,则可以使用ALTER TABLE语句。