在 DB2 的 `IMPORT` 命令中,`of del` 是一个重要的参数,用于指定数据文件的格式。`of del` 表示数据文件是定界符分隔的文本文件(Delimited Text File)。这种文件格式通常用于存储结构化数据,其中每行代表一条记录,字段之间由特定的分隔符(如逗号、制表符等)分隔。
### `of del` 的作用
- **指定文件格式**:`of del` 告诉 DB2 这个文件是一个定界符分隔的文本文件。
- **解析数据**:DB2 会根据指定的分隔符来解析文件中的每一行,将各个字段正确地映射到目标表的列中。
### 常见的文件格式
- **`of del`**:定界符分隔的文本文件,通常用于 CSV 文件。
- **`of ixf`**:Informix 导出文件格式。
- **`of asc`**:ASCII 文本文件。
- **`of sql`**:SQL 插入语句文件。
- **`of wsf`**:WebSphere Studio 文件格式。
### 示例
#### 逗号分隔的 CSV 文件
假设你有一个逗号分隔的 CSV 文件 `data.csv`,内容如下:
```
id,name,age
1,Alice,30
2,Bob,25
3,Charlie,35
```
你可以使用以下命令将数据导入到表 `your_table` 中:
```sh
db2 import from data.csv of del modified by coldel, insert into your_table
```
在这个例子中:
- `of del` 指定了文件是定界符分隔的文本文件。
- `coldel,` 指定了字段之间的分隔符为逗号。
#### 制表符分隔的 TSV 文件
假设你有一个制表符分隔的 TSV 文件 `data.tsv`,内容如下:
```
id name age
1 Alice 30
2 Bob 25
3 Charlie 35
```
你可以使用以下命令将数据导入到表 `your_table` 中:
```sh
db2 import from data.tsv of del modified by coldel\t insert into your_table
```
在这个例子中:
- `of del` 指定了文件是定界符分隔的文本文件。
- `coldel\t` 指定了字段之间的分隔符为制表符。
### 其他常见选项
- **`modified by`**:用于指定额外的选项,如分隔符、日期格式等。
- `coldel<delimiter>`: 指定字段之间的分隔符。
- `strdel<delimiter>`: 指定字符串的引号字符。
- `date<format>`: 指定日期格式。
- `time<format>`: 指定时间格式。
- `timestamp<format>`: 指定时间戳格式。
- `codepage=<codepage>`: 指定文件的字符集编码。
### 示例:指定字符集编码
假设你有一个 GBK 编码的文件 `data_gbk.csv`,内容如下:
```
id,name,age
1,张三,30
2,李四,25
3,王五,35
```
你可以使用以下命令将数据导入到表 `your_table` 中:
```sh
db2 import from data_gbk.csv of del modified by coldel, strdel" codepage=936 insert into your_table
```
在这个例子中:
- `of del` 指定了文件是定界符分隔的文本文件。
- `coldel,` 指定了字段之间的分隔符为逗号。
- `strdel"` 指定了字符串的引号字符为双引号。
- `codepage=936` 指定了文件的字符集编码为 GBK。
通过使用 `of del` 参数,你可以明确告诉 DB2 你的数据文件是定界符分隔的文本文件,并结合其他选项来确保数据的正确解析和导入。