📜  SQL |默认约束(1)

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

SQL - 默认约束

在SQL中,可以定义默认约束来指定列的默认值,这样插入数据时,如果没有明确指定该列的值,则会使用默认约束。

创建默认约束

创建默认约束的语法如下:

ALTER TABLE table_name
ALTER COLUMN column_name SET DEFAULT default_value;

其中,table_name为表名,column_name为列名,default_value为默认值。

例如,我们可以为users表的age列设置默认值为18

ALTER TABLE users
ALTER COLUMN age SET DEFAULT 18;

如果插入数据时没有指定该列的值,则会自动使用默认值:

INSERT INTO users (name) VALUES ('Tom'); -- age 默认为 18

我们也可以为已有数据设置默认值:

ALTER TABLE users ALTER COLUMN age SET DEFAULT 18;
UPDATE users SET age = DEFAULT WHERE age IS NULL;

这里,我们先将age列的默认值设置为18,然后将age为空的行的age字段全部设置为默认值。

删除默认约束

如果想要删除默认约束,可以使用如下语法:

ALTER TABLE table_name ALTER COLUMN column_name DROP DEFAULT;

例如,我们可以删除users表的age列的默认值:

ALTER TABLE users ALTER COLUMN age DROP DEFAULT;
总结

默认约束是一个非常有用的特性,可以用来指定那些在大部分情况下都相同的列的默认值,简化一些操作。但是,在实际应用中,需要根据具体情况来决定是否使用默认约束。