
# Iceberg列默认值介绍
#### 列默认值使用场景
- 添加新列并指定默认值，且还没有新数据写入，读取时新列的值会使用**initial-default**（初始默认值）。
- 执行写入时，被缺省的字段（写入时没有指定该字段的值）将会使用**write-default**（写入默认值）写入。
- 不使用列默认值时，**initial-default** 和**write-default**都是null。
 
#### initial-default
执行**ALTER TABLE** ... **ADD COLUMN** 语句添加新列时，可通过**DEFAULT**子句设置初始默认值，例如：
```
ALTER TABLE users ADD COLUMN age INT DEFAULT 25;
```
#### write-default
- 添加新列时**write-default** 被初始化为**initial-default**。
- 每个列的write-default可以被更改。例如：
  ```
  ALTER TABLE users ALTER COLUMN age SET DEFAULT 30;
  ```
  
 
