本システムでは、CSV/タブ区切りファイルからのデータの挿入や、 CSV/タブ区切りファイルへの書き出しをサポートしています。
レコードの区切りは、 ファイル中では改行文字 ( CR or LF or CR + LF ) で表されます。
関連テーブルを持たない場合、 またはひとつの主テーブルが二レコード以上の関連テーブルを持たない場合は、 主テーブルの一レコードがファイルの1行分に対応します。 最大 n ( > 1 ) レコードの関連テーブルを持つ主テーブルのレコードは、 ファイルの n 行分に対応します。 ただし、カラムの値に改行コードを含むCSVファイルでは、 この関係は成り立ちません。
複数の値を指定できるカラム ( plural の設定が true のカラム ) では、 各値の間は、グループ分離 ( 0x1D ) で区切られます。
CSVファイルでは、各カラムは、カンマ ( ',' ) で区切られます。 また、カラムがダブルクォーテーション ( '"' ) で囲まれることもあります。 ダブルクォーテーションで囲まれた場合は、囲まれた文字列が (その中にカンマや改行を含む場合でも) そのままカラムの値とみなされます。 ダブルクォーテーションの中では、ダブルクォーテーションは、 2個のダブルクォーテーション '""' で表されます。
カラム中の改行は、CR, LF, CR + LF のいずれかで表されます。
ファイル中の文字 | 意味 |
---|---|
, ( 0x2C ) | カラムの間の区切り |
CR / LF / CR+LF / 垂直タブ ( 0x0B ) | カラム中の改行 |
"..." | カラムの値 |
"" | (ダブルクォートで囲まれている場合は)ダブルクォート |
グループ分離 ( 0x1D ) | 複数の値の区切り |
タブ区切りファイルでは、各カラムは、 水平タブ ( 0x09 ) で区切られます。 ファイル中の垂直タブ ( 0x0B ) は、カラム中の改行文字とみなされます。 カラムの値に水平タブを含めることはできません。 (本システムでもカラムの値には水平タブは使えません。)
ファイル中の文字 | 意味 |
---|---|
水平タブ ( 0x09 ) | カラムの間の区切り |
垂直タブ ( 0x0B ) | カラム中の改行 |
グループ分離 ( 0x1D ) | 複数の値の区切り |