📅  最后修改于: 2023-12-03 15:20:16.198000             🧑  作者: Mango
在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;
默认约束是一个非常有用的特性,可以用来指定那些在大部分情况下都相同的列的默认值,简化一些操作。但是,在实际应用中,需要根据具体情况来决定是否使用默认约束。