📅  最后修改于: 2023-12-03 15:35:05.659000             🧑  作者: Mango
在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语句。