随時翻訳を続けています。
COPY
| sql-statement ::= | COPY [ OR conflict-algorithm ] [database-name .] table-name FROM filename [ USING DELIMITERS delim ] |
COPY コマンドは SQLite バージョン 2.8 とそれ以前で利用できます。 UTF-8/16 の混在環境でそれをサポートするにおいて複雑な問題のために COPY コマンドは SQLite バージョン 3.0 で取り除かれました。 バージョン 3.0 のコマンドラインシェルは、COPY の代用として使える新コマンド .import を含みます。
COPY コマンドは、テーブル内に多量のデータをロードするために使われる拡張です。 それは PostgreSQL に見られる類似のコマンドをモデルとしています。 実際、SQLite の COPY コマンドは、PostgreSQL から SQLite へデータを容易に転送できるように、 特に PostgreSQL のダンプユーティリティーである pg_dump の出力を読めるように 設計されています。
table-name は、データで埋める既存のテーブルの名前です。 filename は、読み込むべきデータを持つファイルを示す文字列か識別子です。 標準入力からのデータ読み込み用に filename は STDIN も可能です。
入力ファイルの各行がテーブル内の一つのレコードに変換されます。 カラムはタブで分割されます。 タブがカラム内にデータとして存在する場合、そのタブにはバックスラッシュ "\" 文字が 前もって与えられます。 データ内のバックスラッシュは、行内においては2つのバックスラッシュとして出現します。 オプションの USING DELIMITERS 句はタブ以外の区切り文字を指定します。
カラムが文字 "\N" でできている場合、そのカラムは NULL 値で満たされます。
オプションの conflict-clause は、代替の制約競合解決アルゴリズムを その一つのコマンドに使用する指定を可能にします。 さらなる情報をセクション ON CONFLICT で得てください。
入力データソスが STDIN のとき、入力はバックスラッシュとドットのみの行 ("\.")で終了できます。